/* 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; }