DoneJS StealJS jQuery++ FuncUnit DocumentJS
3.14.1
5.0.0 4.3.0 2.3.35
  • About
  • Guides
  • API Docs
  • Community
  • Contributing
  • Bitovi
    • Bitovi.com
    • Blog
    • Design
    • Development
    • Training
    • Open Source
    • About
    • Contact Us
  • About
  • Guides
  • API Docs
    • Observables
      • can-compute
      • can-define
      • can-define/list/list
      • can-define/map/map
      • can-define-stream
      • can-define-stream-kefir
      • can-event
      • can-event/async/async
      • can-event/batch/batch
      • can-event/lifecycle/lifecycle
      • can-kefir
      • can-list
      • can-map
      • can-map-backup
      • can-map-define
      • can-observation
      • can-observe
      • can-simple-map
      • can-simple-observable
      • can-stream
      • can-stream-kefir
    • Data Modeling
      • can-connect
      • can-connect-cloneable
      • can-connect-feathers
      • can-connect-ndjson
      • can-connect-signalr
      • can-fixture
      • can-fixture-socket
      • can-ndjson-stream
      • can-set
    • Views
      • can-component
      • can-ejs
      • can-element
      • can-react-component
      • can-stache
      • can-stache/helpers/route
      • can-stache-bindings
      • can-stache-converters
      • can-view-autorender
      • can-view-callbacks
      • can-view-href
      • can-view-import
      • can-view-live
      • can-view-model
      • can-view-nodelist
      • can-view-parser
      • can-view-scope
      • can-view-target
      • react-view-model
      • react-view-model/component
      • steal-stache
    • Routing
      • can-deparam
      • can-param
      • can-route
      • can-route-pushstate
    • JS Utilities
      • can-assign
      • can-define-lazy-value
      • can-globals
      • can-key-tree
      • can-make-map
      • can-parse-uri
      • can-string
      • can-string-to-any
      • can-util
      • can-zone
      • can-zone-storage
    • DOM Utilities
      • can-ajax
      • can-attribute-encoder
      • can-control
      • can-dom-events
      • can-event-dom-enter
      • can-event-dom-radiochange
      • can-jquery
    • Data Validation
      • can-define-validate-validatejs
      • can-validate
      • can-validate-interface
      • can-validate-legacy
      • can-validate-validatejs
        • Methods
          • many
    • Typed Data
      • can-cid
      • can-construct
      • can-construct-super
      • can-namespace
      • can-reflect
      • can-reflect-promise
      • can-types
    • Polyfills
      • can-symbol
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

can-validate-validatejs

  • npm package badge
  • Star
  • Edit on GitHub

Create validator functions using validate.js.

makeValidator(constraints)

Returns a validator function that can be used to validate a single value.

const validateAge = makeValidator( {
  numericality: true
} );

Parameters

  1. constraints {Object}:

    An object of definitions used by the Validate.js library to run validations on a value.

Returns

{Validator}:

A validator type function that takes a value and validates it against the provided constraints.

Usage

A validator can be created either for a single value or for many values. More information on how to configure Validate.JS constraints can be found here.

Single value validation

Using the Validate.js library validators and configuration, call makeValidator and pass the desired constraints. The resulting function can then be used to validate specific values.

import makeValidator from "can-validate-validatejs";
const validateAge = makeValidator( {
    numericality: true
} );

const age = "hello";
validateAge( age ); //> ['is not a number']

const anotherAge = 35;
validateAge( anotherAge ); //> undefined

Multiple value validation

Using the many works similar to makeValidator, except that makeValidator.many produces a validator that expects an object of values. The validator will run constraints on respective values based on the keys provided.

import makeValidator from "can-validate-validatejs";
const validatePerson = makeValidator.many( {
    age: {
        numericality: true
    },
    name: {
        presence: true
    }
} );

const invalidPerson = {
    name: "",
    age: "hello"
};
validatePerson( invalidPerson ); //> {name: ['is required'], age: ['is not a number']}

const validPerson = {
    name: "Juan",
    age: 35
};
validatePerson( validPerson ); //> undefined

CanJS is part of DoneJS. Created and maintained by the core DoneJS team and Bitovi. Currently 3.14.1.

On this page

Get help

  • Chat with us
  • File an issue
  • Ask questions
  • Read latest news