Core Data is calling these methods in certain situations:
- (BOOL)validateForInsert:(NSError **)outError;
- (BOOL)validateForUpdate:(NSError **)outError;
- (BOOL)validateForDelete:(NSError **)outError;
I wonder if they're doing anything different, or if they're essentially doing the exact same things.
As far as I know, these methods call the -validateValue:forKey:error:
method once for every property.
The only difference I can imagine is in the .validateForDelete: method. I see no reason why to validate an object when it shall be deleted, except for applying delete rules, probably only in the case of the DENY rule.