Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.65 KB | None | 0 0
  1. import * as Yup from 'yup';
  2. import moment from 'moment';
  3.  
  4. const BeneficiaryFormSchema = Yup.object().shape({
  5. primary: Yup.object()
  6. .shape({
  7. relationship: Yup.string().required('This field is required'),
  8. firstName: Yup.string()
  9. .min(2, 'This field has a minimum length of 2 characters.')
  10. .required('This field is required'),
  11. lastName: Yup.string().when('relationship', {
  12. is: val => val === 'ENTY' || val === 'TRST',
  13. then: Yup.string().notRequired(),
  14. otherwise: Yup.string()
  15. .min(2, 'This field has a minimum length of 2 characters.')
  16. .required('This field is required'),
  17. }),
  18. addressLine1: Yup.string().required('This field is required'),
  19. addressLine2: Yup.string(),
  20. country: Yup.string()
  21. .length(2, 'This field must be 2 characters only')
  22. .required('This field is required'),
  23. city: Yup.string().required('This field is required'),
  24. stateStr: Yup.string()
  25. .min(2, 'This field has a minimum length of 2 characters.')
  26. .required('This field is required'),
  27. postalCode: Yup.string()
  28. .min(4, 'This field has a minimum length of 4 characters.')
  29. .max(9, 'This field has a maximum length of 9 characters')
  30. .required('This field is required'),
  31. dateOfRecord: Yup.date().when('relationship', {
  32. is: val => val === 'ENTY' || val === 'TRST',
  33. then: Yup.date()
  34. .typeError('Please fill a valid date')
  35. .required('This field is required'),
  36. otherwise: Yup.date()
  37. .min(
  38. moment().subtract(100, 'year'),
  39. 'Beneficiary must be 100 years or lower'
  40. )
  41. .max(
  42. moment().subtract(18, 'year'),
  43. 'Beneficiary must be at least 18 years old'
  44. )
  45. .typeError('Please fill a valid date')
  46. .required('This field is required'),
  47. }),
  48. documentNumber: Yup.string().required('This field is required'),
  49. email: Yup.string()
  50. .email('Your email must be valid')
  51. .required('Your email is required'),
  52. phone: Yup.string().required('This field is required'),
  53. })
  54. .required(),
  55. contingent: Yup.object().when('hasContingent', {
  56. is: val => val,
  57. then: Yup.object()
  58. .shape({
  59. relationship: Yup.string().required('This field is required'),
  60. firstName: Yup.string()
  61. .min(2, 'This field has a minimum length of 2 characters.')
  62. .required('This field is required'),
  63. lastName: Yup.string().when('relationship', {
  64. is: val => val === 'ENTY' || val === 'TRST',
  65. then: Yup.string().notRequired(),
  66. otherwise: Yup.string()
  67. .min(2, 'This field has a minimum length of 2 characters.')
  68. .required('This field is required'),
  69. }),
  70. addressLine1: Yup.string().required('This field is required'),
  71. addressLine2: Yup.string(),
  72. country: Yup.string()
  73. .length(2, 'This field must be 2 characters only')
  74. .required('This field is required'),
  75. city: Yup.string().required('This field is required'),
  76. stateStr: Yup.string()
  77. .min(2, 'This field has a minimum length of 2 characters.')
  78. .required('This field is required'),
  79. postalCode: Yup.string()
  80. .min(4, 'This field has a minimum length of 4 characters.')
  81. .max(9, 'This field has a maximum length of 9 characters')
  82. .required('This field is required'),
  83. dateOfRecord: Yup.date().when('relationship', {
  84. is: val => val === 'ENTY' || val === 'TRST',
  85. then: Yup.date()
  86. .typeError('Please fill a valid date')
  87. .required('This field is required'),
  88. otherwise: Yup.date()
  89. .min(
  90. moment().subtract(100, 'year'),
  91. 'Beneficiary must be 100 years or lower'
  92. )
  93. .max(
  94. moment().subtract(18, 'year'),
  95. 'Beneficiary must be at least 18 years old'
  96. )
  97. .typeError('Please fill a valid date')
  98. .required('This field is required'),
  99. }),
  100. documentNumber: Yup.string().required('This field is required'),
  101. email: Yup.string()
  102. .email('Your email must be valid')
  103. .required('Your email is required'),
  104. phone: Yup.string().required('This field is required'),
  105. })
  106. .required(),
  107. otherwise: Yup.object().notRequired(),
  108. }),
  109. investorInitials: Yup.string().required('This field is required'),
  110. hasContingent: Yup.boolean(),
  111. });
  112.  
  113. export default BeneficiaryFormSchema;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement