In cbValidation 1.5 we introduced the validateOrFail()
function. This function works in similar manner to the validate()
method, but instead of giving you the results object, it throws an exception of type ValidationException
.
Incoming Target | Validation Fails | Result |
---|---|---|
Object | false | Returns the same object |
Object | true | Throws ValidationException |
Struct | false | Returns the structure with ONLY the fields that were validated from the constraints |
Struct | true | Throws ValidationException |
So your validation fails, where are the results? In the exception structure under the extendedInfo
key. We store the validation results as JSON in the extended info and then you can use them for display purposes:
try{
validateOrFail( target );
service.save( target );
} catch( ValidationException e ){
return {
"error" : true,
"validationErrors" : deserializeJSON( e.extendedInfo )
};
}