See All Options

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'
})
Show:
buildOptions
(
  • options
  • defaultOptions
  • globalOptions
)
Object

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

Parameters:

Returns:

createErrorMessage
(
  • type
  • value
  • options
)
String

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:

  • type String

    The type of message template to use

  • value Mixed

    Current value being evaluated

  • options Object

    Validator built and processed options (used as the message string context)

Returns:

String:

The generated message

getValue () Mixed private

Wrapper method to value that passes the necessary parameters

Returns:

Mixed:

value

validate
(
  • value
  • options
  • model
  • attribute
)

Inherited from Base but overwritten in ember-validators/addon/date.js:29

Parameters:

  • value Any
  • options Object
    • allowBlank Boolean

      If true, skips validation if the value is empty

    • before String

      The specified date must be before this date

    • onOrBefore String

      The specified date must be on or before this date

    • after String

      The specified date must be after this date

    • onOrAfter String

      The specified date must be on or after this date

    • precision String

      Limit the comparison check to a specific granularity. Possible Options: [year, month, week, day, hour, minute, second].

    • format String

      Input value date format

    • errorFormat String

      Error output date format. Defaults to MMM Do, YYYY

  • model Object
  • attribute String
value
(
  • model
  • attribute
)

Used to retrieve the value to validate. This method gets called right before validate and the returned value gets passed into the validate method.

Parameters:

Returns:

The current value of model[attribute]

_type

String private

Validator type

attribute

String

Attributed name of the model this validator is attached to

defaultOptions

Object

Default validation options for this specific attribute

errorMessages

Object

Error message object. Populated by validators/messages

globalOptions

Object

Global validation options for this model

isWarning

Boolean

model

Model

Model instance

options

Object

Options passed in to the validator when defined in the model