import { defineRule } from 'vee-validate'; import errorMessages from '@/constants/error-messages'; import globalRules from '@/constants/global-rules'; import { required, regex } from '@/helpers/validation-rules'; /** * @summary Define global rules related to names */ function defineGlobalNameRules() { defineRule(globalRules.FIRST_NAME_REQUIRED, required(errorMessages.FIRST_NAME_REQUIRED)); defineRule(globalRules.LAST_NAME_REQUIRED, required(errorMessages.LAST_NAME_REQUIRED)); defineRule(globalRules.POLICYHOLDER_FIRST_NAME_REQUIRED, required(errorMessages.POLICYHOLDER_FIRST_NAME_REQUIRED)); defineRule(globalRules.POLICYHOLDER_LAST_NAME_REQUIRED, required(errorMessages.POLICYHOLDER_LAST_NAME_REQUIRED)); } /** * @summary Define global rules related to email addresses */ function defineGlobalEmailRules() { defineRule(globalRules.EMAIL_ADDRESS_REQUIRED, required(errorMessages.EMAIL_ADDRESS_REQUIRED)); defineRule(globalRules.EMAIL_ADDRESS_FORMAT, regex(/^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT)); } /** * @summary Define global rules related to phone numbers */ function defineGlobalPhoneNumberRules() { defineRule(globalRules.PHONE_NUMBER_REQUIRED, required(errorMessages.PHONE_NUMBER_REQUIRED)); defineRule(globalRules.PHONE_NUMBER_FORMAT, regex(/^(\([0-9]{3}\)|[0-9]{3}) *[-.]? *[0-9]{3} *[-.]? *[0-9]{4}$/, errorMessages.PHONE_NUMBER_FORMAT)); } /** * @function defineGlobalRules * @summary Define all global rules */ export default function defineGlobalRules() { defineGlobalNameRules(); defineGlobalEmailRules(); defineGlobalPhoneNumberRules(); defineRule(globalRules.OPTION_REQUIRED, required(errorMessages.OPTION_REQUIRED)); }