vtypes-requiredwithall
"Required With All" validator for validate.js
About
The requiredWithAll
validator attempts to ensure that the input
is be present and not empty if ALL of the other specified
fields are present.
Installation
Using npm:
$ npm i --save vtypes-requiredwithall
const validate = require('validate.js');
const requiredWithAll = require('vtypes-requiredwithall');
// you can then proceed to register the required validators.
validate.validators.requiredWithAll = requiredWithAll;
Usage
const constraint = {
attr: {
requiredWithAll: {attributes: ['other', 'related']}
}
}
validate({}, constraint);
// => undefined
validate({attr: 'foo', other: 'bar', related: 'baz'}, constraint);
// => undefined
validate({other: 'bar'}, constraint);
// => undefined
validate({other: 'bar', related: 'baz'}, constraint);
// => {attr: ['Attr is required when any of these attributes (other, related) are present']}
For more examples, check out the test files in this package's source folder.
Available Options
name | type | default | description |
---|---|---|---|
attributes | array | The list of attributes | |
message | string | is required when all of these attributes (%{attributes}) are present |
Error message |
truthy | boolean | false | Checks for truthy values instead of checking only for null and undefined values |
License
vtypes-requiredwithall
is MIT licensed