Fork me on GitHub

AFrameJS

- Javascript MVC Library

static class AFrame.DataValidation

Performs dataToValidate validation, attempts to follow the HTML5 spec.

var criteria = {
    min: 10,
    type: 'number'
};

var fieldValidityState = AFrame.DataValidation.validate( {
    data: 1,
    criteria: criteria
} );
// fieldValidityState.valid is false
// fieldValidityState.rangeUnderflow is true

fieldValidityState = AFrame.DataValidation.validate( {
    data: 10,
    criteria: criteria
} );
// fieldValidityState.valid is true
// fieldValidityState.rangeUnderflow is false

// Add a custom validator

AFrame.DataValidation.setValidator( 'specializednumber', 'min', function( dataToValidate,
       fieldValidityState, thisCriteria, allCriteria ) {
   // Do validation here.  If there is a problem, set the error on fieldValidityState
   var valid = // code to do validation
   if( !valid ) {
       fieldValidationState.setCustomValidity( 'rangeUnderflow' );
   }
} );

var criteria = {
     min: 1234
     type: 'specializednumber'
};

var fieldValidityState = AFrame.DataValidation.validate( {
    data: 1,
    criteria: criteria
} );

Methods

Methods Returns Description
setValidator( type, criteria, validator ) void

Set a validator to be used for a certain type

AFrame.DataValidation.setValidator( 'specializednumber', 'min', function( dataToValidate,
       fieldValidityState, thisCriteria, allCriteria ) {
   // Do validation here.  If there is a problem, set the error on fieldValidityState
   var valid = // code to do validation
   if( !valid ) {
       fieldValidationState.setError( 'rangeUnderflow' );
   }
} );

var criteria = {
     min: 'criteria',
     type: 'specializednumber'
};

var fieldValidityState = AFrame.DataValidation.validate( {
    data: 1,
    criteria: criteria
} );

Parameters:

  • type <string>
    • type of data to set validator for
  • criteria <string>
    • name of criteria to set validator for
  • validator <function>
    • the validator to use
validate( options ) FieldValidityState

validate the dataToValidate using the given criteria.

var criteria = {
    min: 10,
    type: 'number'
};

var fieldValidityState = AFrame.DataValidation.validate( {
    data: 1,
    criteria: criteria
} );
// fieldValidityState.valid is false
// fieldValidityState.rangeUnderflow is true

fieldValidityState = AFrame.DataValidation.validate( {
    data: 10,
    criteria: criteria
} );
// fieldValidityState.valid is true
// fieldValidityState.rangeUnderflow is false

Parameters:

  • options.data <variant>
    • dataToValidate to validate
  • options.criteria <object>
    • the criteria to validate against
  • options.fieldValidityState <FieldValidityState>

    (optional) - field validity state to use, one is created if not given