Skip to content

Instantly share code, notes, and snippets.

@mdmoin7
Created April 27, 2019 04:37
Show Gist options
  • Save mdmoin7/9a5b0e1e81856d2b9f3e2dcedf61e0ee to your computer and use it in GitHub Desktop.
Save mdmoin7/9a5b0e1e81856d2b9f3e2dcedf61e0ee to your computer and use it in GitHub Desktop.
import {getErrorMsg} from './error-messages';
const requiredValidator = (value) => {
return value !== '';
}
const minLengthValidator = (value, minlength) => {
return !(value.length < minlength);
}
const maxLengthValidator = (value, maxlength) => {
return !(value.length > maxlength);
}
const patternValidator = (value, regex) => {
return regex.test(value);
}
const checkValidators = (value, err, errObj) => {
switch (err) {
case 'required':
return requiredValidator(value);
case 'minlength':
return minLengthValidator(value, errObj.requiredLength);
case 'maxlength':
return maxLengthValidator(value, errObj.requiredLength);
case 'pattern':
return patternValidator(value, errObj)
}
}
export const checkErrors = (value, validators) => {
const errors = Object.keys(validators);
let errorsOccured = [];
for (let err of errors) {
if (!checkValidators(value, err, validators[err])) {
errorsOccured.push(getErrorMsg(err, validators[err]));
}
}
return errorsOccured;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment