Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 26x 26x 26x 388x 4222x 4222x 1741x 2481x 765x 743x 22x 1716x 1716x 1716x 1716x 26x 388x 388x 388x | import { FormField, LanguageService } from '@bigcommerce/checkout-sdk'; import { memoize } from 'lodash'; import { ObjectSchema } from 'yup'; import { getFormFieldsValidationSchema, FormFieldValues, TranslateValidationErrorFunction } from '../formFields'; export interface AddressFormFieldsValidationSchemaOptions { formFields: FormField[]; language?: LanguageService; } export function getTranslateAddressError(language?: LanguageService): TranslateValidationErrorFunction { const requiredFieldErrorTranslationIds: { [fieldName: string]: string } = { countryCode: 'address.country', firstName: 'address.first_name', lastName: 'address.last_name', company: 'address.company_name', address1: 'address.address_line_1', address2: 'address.address_line_2', city: 'address.city', stateOrProvince: 'address.state', stateOrProvinceCode: 'address.state', postalCode: 'address.postal_code', phone: 'address.phone_number', }; return (type, { label, name, min, max }) => { if (!language) { return; } if (type === 'required') { if (requiredFieldErrorTranslationIds[name]) { return language.translate(`${requiredFieldErrorTranslationIds[name]}_required_error`); } else { return language.translate(`address.custom_required_error`, { label }); } } Iif (type === 'max' && max) { return language.translate(`address.custom_max_error`, { label, max }); } Iif (type === 'min' && min) { return language.translate(`address.custom_max_error`, { label, min }); } Eif (type === 'invalid') { return language.translate(`address.invalid_characters_error`, { label }); } return; }; } export default memoize(function getAddressFormFieldsValidationSchema({ formFields, language, }: AddressFormFieldsValidationSchemaOptions): ObjectSchema<FormFieldValues> { return getFormFieldsValidationSchema({ formFields, translate: getTranslateAddressError(language), }); }); |