UNPKG

@grandlinex/react-components

Version:
52 lines (51 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requiredFieldValidation = requiredFieldValidation; // eslint-disable-next-line import/prefer-default-export function requiredFieldValidation(conf, form, t) { const error = { global: [], field: [], }; conf.forEach((opt) => { if (opt) { let doList; if (Array.isArray(opt)) { doList = opt; } else { doList = [opt]; } doList.forEach((del) => { if (!del) { return; } let foList; if (Array.isArray(del)) { foList = del; } else { foList = [del]; } foList.forEach((fel) => { if (fel.required) { if (!form || form[fel.key] === '' || form[fel.key] === undefined || form[fel.key] === null || (Array.isArray(form[fel.key]) && form[fel.key].length === 0)) { error.field?.push({ key: fel.key, message: t.get('glx.form.required.field'), }); } } }); }); } }); if (error.field?.length === 0 && error.global?.length === 0) { return null; } return error; }