Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const dateString = yup.string().default(null).nullable()
- const latinString = yup.string().matches(/^[a-z A-Z()0-9.,-]+$/, 'Please use Latin characters only')
- // Step 1
- const BASIC_INFORMATION = yup.object().shape({
- merchantName: latinString.required('Required field'),
- dbaName: latinString,
- residentStatus: yup.string().required('Required field'),
- merchantRegistrationNumber: latinString.required('Required field'),
- registrationDate: dateString
- .test(
- 'afterCurrentDate',
- 'Registration date must be no later than the current date',
- date => !isFuture(new Date(formatDate(date))),
- )
- .required('Required field'),
- countryRegistered: yup.string().required('Required field'),
- businessLicenceNumber: latinString,
- expireDate: dateString
- .test(
- 'beforeCurrentDate',
- 'Expire date must be no earlier than the current date',
- date => !isPast(new Date(formatDate(date))),
- ),
- issueDate: dateString
- .test(
- 'afterCurrentDate',
- 'Issue date must be no later than the current date',
- date => !isFuture(new Date(formatDate(date))),
- ),
- issuingAuthority: latinString,
- vatNumber: latinString.required('Required field'),
- vatCountry: yup.string().required('Required field'),
- mccCode: latinString
- .min(4, 'MCC Code must be at least 4 characters')
- .max(4, 'MCC Code must be at most 4 characters')
- .required('Required field'),
- merchantType: yup.string().required('Required field'),
- registeredAddress: latinString.required('Required field'),
- businessAddress: latinString.required('Required field'),
- merchantWebsite: latinString.required('Required field'),
- merchantPhone: yup.string().required('Required field'),
- merchantEmail: yup.string()
- .required('Required field')
- .email('Merchant email must be a valid email'),
- notificationEmails: yup.string()
- .required('Required field')
- .email('Merchant email must be a valid email'),
- })
- // Step 2
- const CONTACT_PERSON = yup.object().shape({
- firstName: latinString.required('Required field'),
- lastName: latinString.required('Required field'),
- position: latinString.required('Required field'),
- phone: yup.string().required('Required field'),
- email: yup.string()
- .required('Required field')
- .email('Email must be a valid email'),
- skype: latinString,
- })
- // Step 3
- const PORTAL_ADMINISTRATOR = yup.object().shape({
- firstName: latinString.required('Required field'),
- lastName: latinString.required('Required field'),
- phone: yup.string().required('Required field'),
- email: yup.string()
- .required('Required field')
- .email('Email must be a valid email'),
- skype: latinString,
- })
- // Step 4
- const FINANCIAL_INFORMATION = yup.object().shape({
- activity: latinString.required('Required field'),
- domainName: latinString.required('Required field'),
- website: latinString.required('Required field'),
- startUp: yup.string(),
- operationYears: latinString.required('Required field'),
- priceRange: latinString.required('Required field'),
- averageTransactionAmount: latinString.required('Required field'),
- monthlyTurnover: latinString.required('Required field'),
- customerService: latinString.required('Required field'),
- countries: latinString.required('Required field'),
- partners: latinString.required('Required field'),
- transactionsNature: latinString.required('Required field'),
- paymentsDestination: latinString.required('Required field'),
- sourceOfWealth: latinString.required('Required field'),
- })
- // Step 5
- const MERCHANT_BANK_ACCOUNT_DETAILS = yup.object().shape({
- name: latinString.required('Required field'),
- holderAddress: latinString,
- bankName: latinString.required('Required field'),
- bankAddress: latinString.required('Required field'),
- accountNumber: latinString.required('Required field'),
- ibanNumber: latinString.required('Required field'),
- bicCode: latinString.required('Required field'),
- currency: latinString.required('Required field'),
- })
- // Step 6
- const OWNERSHIP_AND_MANAGEMENT_INFORMATION = yup.array()
- .of(
- yup.object().shape({
- relativesPolitical: yup.string().required('Required field'),
- relativesPoliticalSpecifyWhy: latinString
- .when(['relativesPolitical'], {
- is: 'yes',
- then: yup.string().required('Required field'),
- }),
- firstName: latinString.required('Required field'),
- lastName: latinString.required('Required field'),
- dateOfBirth: dateString.required('Required field'),
- passport: latinString.required('Required field'),
- telephone: yup.string().required('Required field'),
- email: yup.string()
- .required('Required field')
- .email('Email must be a valid email'),
- role: yup.string().required('Required field'),
- }),
- )
- // Step 7
- const AUTHORIZED_PERSON = yup.array()
- .of(
- yup.object().shape({
- relativesPolitical: yup.string().required('Required field'),
- relativesPoliticalSpecifyWhy: latinString
- .when(['relativesPolitical'], {
- is: 'yes',
- then: yup.string().required('Required field'),
- }),
- firstName: latinString.required('Required field'),
- lastName: latinString.required('Required field'),
- birthDate: dateString.required('Required field'),
- passport: latinString.required('Required field'),
- signatoryRights: latinString,
- }),
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement