Export the Validator singleton instance that allow to validate complex data structure
- License:
- Source:
Example
const validator = Itee.Validators.Validator // Using unique function for One registered type // Usefull when a simple data structure is used multiple times validator.add( 'ColorType', color => { const r = color.r if ( color.r === undefined || Itee.Validators.isNotNumber( r ) ) { return false } const g = color.g if ( color.g === undefined || Itee.Validators.isNotNumber( g ) ) { return false } const b = color.b if ( color.b === undefined || Itee.Validators.isNotNumber( b ) ) { return false } return true } ) // Using schema composition // Usefull for design validation schema faster and based on previous declared validation types validator.add( 'Range_0_255', ( value ) => { if ( Itee.Validators.isNotNumber( value ) ) { return false } return !(value <= 0 || value > 255) } ) validator.add( 'ColorSchema', { r: { required: true, type: 'Range_0_255' }, g: { required: true, type: 'Range_0_255' }, b: { required: true, type: 'Range_0_255' } } ) validator.add( 'ColorStructure', { color_from_type: { type: 'ColorType' }, col_from_schema: { type: 'ColorSchema' }, col_from_fn: { // Inner function // Usefull for specific validation requirement that cannot match other previous validation schema or type fn: function ColorValidator ( color ) { const r = color.r if ( color.r === undefined || Itee.Validators.isNotNumber( r ) ) { return false } const g = color.g if ( color.g === undefined || Itee.Validators.isNotNumber( g ) ) { return false } const b = color.b if ( color.b === undefined || Itee.Validators.isNotNumber( b ) ) { return false } return true } } } ) // The data to validate const colorStruct = { color_from_type: { r: 0, g: 1, b: 2 }, col_from_schema: { r: 10, g: 20, b: 30 }, col_from_fn: { r: 0, g: 127, b: 255 } } // Execute try { if ( validator.check( colorStruct, 'ColorStructure' ) ) { alert( 'ColorStructure is valid !' ) } else { alert( validator.errors ) } } catch ( err ) { alert( err ) }
Members
-
<inner> validatorInstance :Validator
-
The singleton instance
Type:
- Validator
- Source: