---
title: validateForInsert()
framework: coredata
role: symbol
role_heading: Instance Method
path: coredata/nsmanagedobject/validateforinsert()
---

# validateForInsert()

Determines whether the managed object can be inserted in its current state.

## Declaration

```swift
func validateForInsert() throws
```

## Discussion

Discussion Subclasses should invoke super’s implementation before performing their own validation, and should combine any error returned by super’s implementation with their own (see Managed Object Validation).

## See Also

### Managing Data Validation

- [validateValue(_:forKey:)](coredata/nsmanagedobject/validatevalue(_:forkey:).md)
- [validateForDelete()](coredata/nsmanagedobject/validatefordelete().md)
- [validateForUpdate()](coredata/nsmanagedobject/validateforupdate().md)
- [Validation error codes](coredata/1535452-validation-error-codes.md)
- [NSValidationKeyErrorKey](coredata/nsvalidationkeyerrorkey.md)
- [NSValidationObjectErrorKey](coredata/nsvalidationobjecterrorkey.md)
- [NSValidationPredicateErrorKey](coredata/nsvalidationpredicateerrorkey.md)
- [NSValidationValueErrorKey](coredata/nsvalidationvalueerrorkey.md)
