You can also define constraints a-la-carte. Meaning you can create them on the fly or store them as JSON or somewhere in a service. As long as it is a struct of constraints, that's all the validation methods accept via the constraints
argument.
In this sample we validate the public request context rc
. This sample validates all fields in the rc
. If you need more control you can specify the fields
parameter (default all) or the includeFields
and excludeFields
parameters in your validate()
call.
// sample REST API create userfunction create( event, rc, prc ){var validationResult = validate(target = rc,constraints = {username : { required : true },email : { required : true, type : "email" },password : { required : true }})if ( !validationResult.hasErrors() ) {UserService.createUser( rc.username, rc.email, rc.password );prc.response.setData( UserService.readUser( username = rc.username ) );} else {prc.response.setError( true ).addMessage( validationResult.getAllErrors() ).setStatusCode( STATUS.BAD_REQUEST ).setStatusText( "Validation error" );}}