all files / src/explore/ validators.js

43.75% Statements 7/16
0% Branches 0/16
0% Functions 0/3
30.77% Lines 4/13
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 34                                                           
/* 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.
 * */
import { t } from '../locales';
 
export function numeric(v) {
  if (v && isNaN(v)) {
    return t('is expected to be a number');
  }
  return false;
}
 
export function integer(v) {
  if (v && (isNaN(v) || parseInt(v, 10) !== +(v))) {
    return t('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 t('cannot be empty');
  }
  return false;
}