@grandlinex/react-components
Version:
52 lines (51 loc) • 1.63 kB
JavaScript
;
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;
}