blob: b1625d476f24968af456b3081edd77ceda48399b [file] [log] [blame]
/* 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;
}