@aws-amplify/cli-internal
Version:
Amplify CLI
31 lines • 1.29 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.inputValidation = void 0;
function inputValidation(validation) {
if (Object.prototype.hasOwnProperty.call(validation, 'validation')) {
Object.assign(validation, { ...validation.validation });
delete validation.validation;
}
return (input) => {
if (validation.operator === 'includes') {
return input.includes(validation.value) ? true : validation.onErrorMsg;
}
if (validation.operator === 'regex') {
const regex = new RegExp(validation.value);
return regex.test(input) ? true : validation.onErrorMsg;
}
if (validation.operator === 'range') {
const isGood = input >= validation.value.min && input <= validation.value.max;
return isGood ? true : validation.onErrorMsg;
}
if (validation.operator === 'noEmptyArray') {
return Array.isArray(input) && input.length > 0 ? true : validation.onErrorMsg;
}
if (validation.required) {
return input ? true : 'A response is required for this field';
}
return undefined;
};
}
exports.inputValidation = inputValidation;
//# sourceMappingURL=input-validation.js.map
;