[explorev2] adding support for client side validators on controls (#1920)

* Adding support for client side validators on controls

* Applying validators to more fields

* Addressing comments
This commit is contained in:
Maxime Beauchemin
2017-01-12 09:21:17 -08:00
committed by GitHub
parent fc74fbeeaa
commit 470a6e9d76
20 changed files with 237 additions and 105 deletions

View File

@@ -0,0 +1,32 @@
/* Reusable validator functions used in controls definitions
*
* validator functions receive the v and the configuration of the field
* as arguments and return something that evals to false if v is valid,
* and an error message if not valid.
* */
export function numeric(v) {
if (v && isNaN(v)) {
return 'is expected to be a number';
}
return false;
}
export function integer(v) {
if (v && (isNaN(v) || parseInt(v, 10) !== +(v))) {
return 'is expected to be an integer';
}
return false;
}
export function nonEmpty(v) {
if (
v === null ||
v === undefined ||
v === '' ||
(Array.isArray(v) && v.length === 0)
) {
return 'cannot be empty';
}
return false;
}