Show:
Extends Base
Module: Validators

Creates an alias between a single attribute's validations to another. This copies all messages, errors, etc., to the current attribute as well as its validation state (isValid, isValidating, etc.)

Options

  • firstMessageOnly (Boolean): If true, only returns the first error message of the aliased attribute and will not include validation state
// Examples
validator('alias', 'attribute')
validator('alias', {
  alias: 'attribute',
  firstMessageOnly: true
})

Methods

buildOptions
(
  • options
  • defaultOptions
  • globalOptions
)
Object

Inherited from Base but overwritten in addon/validators/alias.js:38

Normalized options passed in.

validator('alias', 'attribute')
// Becomes
validator('alias', {
  alias: 'attribute'
})

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. `javascript validate(value, options) { var exists = false; options.description = 'Username'; 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 Unknown
    Current value being evaluated
  • options Object
    Validator built and processed options (used as the message string context)

Returns:

String: The generated message
getValue () Unknown private
Wrapper method to value that passes the necessary parameters

Returns:

Unknown: value
processOptions () Object
Creates a new object and calls any option property that is a function with the validator context. This method is called right before validate and the returned object gets passed into the validate method as its options

Returns:

validate
(
  • value
  • options
  • model
  • attribute
)
The validate method is where all of your logic should go. It will get passed in the current value of the attribute this validator is attached to. Within the validator object, you will have access to the following properties:

Parameters:

  • value Unknown
    The current value of the attribute
  • options Object
    The built and processed options
  • model Object
    The current model being evaluated
  • attribute String
    The current attribute being evaluated

Returns:

One of the following types: - Boolean: true if the current value passed the validation - String: The error message - Promise: A promise that will either resolve or reject, and will finally return either true or the final error message 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]

Properties

_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

model

Model
Model instance

options

Object
Options passed in to the validator when defined in the model