---
title: "performCustomValidation(forMapping:manager:)"
framework: coredata
role: symbol
role_heading: Instance Method
path: "coredata/nsentitymigrationpolicy/performcustomvalidation(formapping:manager:)"
---

# performCustomValidation(forMapping:manager:)

Provides the option to perform custom validation on migrated objects during the validation stage of the entity migration policy.

## Declaration

```swift
func performCustomValidation(forMapping mapping: NSEntityMapping, manager: NSMigrationManager) throws
```

## Parameters

- `mapping`: The mapping object in use.
- `manager`: The migration manager performing the migration.

## Discussion

Discussion This method is called before the default save validation is performed by the framework. If you implement this method, you must manually obtain the collection of objects you are interested in validating.

## See Also

### Customizing Stages of the Mapping Life Cycle

- [begin(_:with:)](coredata/nsentitymigrationpolicy/begin(_:with:).md)
- [createDestinationInstances(forSource:in:manager:)](coredata/nsentitymigrationpolicy/createdestinationinstances(forsource:in:manager:).md)
- [endInstanceCreation(forMapping:manager:)](coredata/nsentitymigrationpolicy/endinstancecreation(formapping:manager:).md)
- [createRelationships(forDestination:in:manager:)](coredata/nsentitymigrationpolicy/createrelationships(fordestination:in:manager:).md)
- [endRelationshipCreation(forMapping:manager:)](coredata/nsentitymigrationpolicy/endrelationshipcreation(formapping:manager:).md)
- [end(_:manager:)](coredata/nsentitymigrationpolicy/end(_:manager:).md)
