Validate over a date range. Uses MomentJS for date mathematics and calculations.
Note: MomentJS must be installed to be able to use this validator. The easiest way to do this is to install ember-moment
Examples
If before, onOrBefore, after, or onOrAfter is set to now, the value given to the validator will be tested against the current date and time.
validator('date', {
after: 'now',
before: '1/1/2020',
precision: 'day',
format: 'M/D/YYY',
errorFormat: 'M/D/YYY'
})
-
options -
defaultOptions -
globalOptions
Build options hook. Merges default options into options object. This method gets called on init and is the ideal place to normalize your options. The presence validator is a good example to checkout
Returns:
-
type -
value -
options
Used by all pre-defined validators to build an error message that is present
in validators/message or declared in your i18n solution.
If we extended our default messages to include uniqueUsername: '{username} already exists',
we can use this method to generate our error message.
validate(value, options) {
var exists = false;
get(options, 'description') = 'Username';
get(options, 'username') = value;
// check with server if username exists...
if(exists) {
return this.createErrorMessage('uniqueUsername', value, options);
}
return true;
}
If we input johndoe and that username already exists, the returned message would be 'johndoe already exists'.
Parameters:
Returns:
The generated message
Wrapper method to value that passes the necessary parameters
Returns:
value
-
value -
options -
model -
attribute
Parameters:
-
valueAny -
optionsObject-
allowBlankBooleanIf true, skips validation if the value is empty
-
beforeStringThe specified date must be before this date
-
onOrBeforeStringThe specified date must be on or before this date
-
afterStringThe specified date must be after this date
-
onOrAfterStringThe specified date must be on or after this date
-
precisionStringLimit the comparison check to a specific granularity. Possible Options: [
year,month,week,day,hour,minute,second]. -
formatStringInput value date format
-
errorFormatStringError output date format. Defaults to
MMM Do, YYYY
-
-
modelObject -
attributeString