import type { DuffelCardFormStrings } from '../../../index'; import type { ValidationResult } from './validateFieldFn'; export function validateCVCFn( customStrings: Pick< DuffelCardFormStrings, | 'cvvRequiredMessage' | 'cvvOnlyNumberMessage' | 'cvvMinLengthMessage' | 'cvvMaxLengthMessage' > ) { return (value: string): ValidationResult => { if (value === '') { return { valid: false, error: customStrings.cvvRequiredMessage }; } else if (isNaN(parseInt(value, 10))) { return { valid: false, error: customStrings.cvvOnlyNumberMessage }; } else if (value.length < 3) { return { valid: false, error: customStrings.cvvMinLengthMessage }; } else if (value.length > 4) { return { valid: false, error: customStrings.cvvMaxLengthMessage }; } else { return { valid: true, error: null }; } }; }