Enabling Vanilla Javascript Validation Functions (VJF)
When enabling the VJF plugin, you can optionally enhance it using validator.js.
Install validator Package (optional)
validator it's not included in the package, so you have to install it manually.
bash
npm install --save validatorDefine a plugins object
Minimal setup:
javascript
import vjf from 'mobx-react-form/lib/validators/VJF';
const plugins = {
vjf: vjf()
};Using validator.js:
javascript
import vjf from 'mobx-react-form/lib/validators/VJF';
import validator from 'validator';
const plugins = {
vjf: vjf({ package: validator })
};VERSION < 6.9.0
Shortcut:
javascript
import vjf from 'mobx-react-form/lib/validators/VJF';
import validator from 'validator';
const plugins = {
vjf: vjf(validator)
};VERSION < 1.37
No need to import the plugin function:
javascript
import validator from 'validator';
const plugins = {
vjf: validator
};Create the form passing the plugins object
javascript
new Form({ ... }, { plugins });Using the chriso/validator.js functions
You can now access the validator package in your custom function.
javascript
export function isEmail({ field, validator }) {
const isValid = validator.isEmail(field.value); // <<---
return [isValid, `The ${field.label} should be an email address.`];
}The function takes in input an object with the following props:
- the
forminstance - the
fieldinstance - the
validatorinstance
Check out how to define Custom VJF Validation Function