export default function useValidators() {

  const isEmpty = (fieldName: string, fieldValue: string) => {
    return !fieldValue ? 'The ' + fieldName + ' field is required' : '';
  }

  const minLength = (fieldName: string, fieldValue: string, min: number) => {
    return fieldValue.length < min ? `The ${fieldName} field must be atleast ${min} characters long` : '';
  }

  const isEmail = (fieldName: string, fieldValue: string) => {
    const res = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return !res.test(String(fieldValue).toLowerCase()) ? 'The input is not a valid ' + fieldName + ' address' : '';
    // let re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    // return !re.test(fieldValue) ? 'The input is not a valid ' + fieldName + ' address' : '';
  }
  return { isEmpty, minLength, isEmail }
}
