All files / javascripts/explorev2 validators.js

0% Statements 0/9
0% Branches 0/16
0% Functions 0/3
0% Lines 0/9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
/* Reusable validator functions used in controls definitions
 *
 * validator functions receive the v and the configuration of the control
 * 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;
}