11import { useForm } from 'react-hook-form' ;
22import { InputField } from '../Input/InputField.component' ;
3+ import { getCustomNumberValidation } from '../../functions/functions' ;
34
4- const getCustomNumberValidation = (
5- value ,
6- { minLength, maxLength , pattern }
7- ) => ( {
8- minLength : { value , message : minLength } ,
9- maxLength : { value , message : maxLength } ,
10- pattern : { value : / ^ \d + $ / i , message : pattern } ,
11- } ) ;
5+ const customPostNumberValidation = getCustomNumberValidation (
6+ {
7+ minLength : 'Postnummer må være minimum 4 tall' ,
8+ maxLength : 'Postnummer må være maksimalt 4 tall' ,
9+ pattern : 'Postnummer må bare være tall' ,
10+ } ,
11+ 4
12+ ) ;
1213
1314const inputs = [
1415 { label : 'Fornavn' , name : 'firstName' } ,
@@ -17,31 +18,34 @@ const inputs = [
1718 {
1819 label : 'Postnummer' ,
1920 name : 'postcode' ,
20- customValidation : getCustomNumberValidation ( 4 , {
21- minLength : 'Postnummer må være minimum 4 tall' ,
22- maxLength : 'Postnummer må være maksimalt 4 tall' ,
23- pattern : 'Postnummer må bare være tall' ,
24- } ) ,
21+ customValidation : customPostNumberValidation ,
2522 } ,
2623 { label : 'Sted' , name : 'city' } ,
2724 {
2825 label : 'Epost' ,
2926 name : 'email' ,
30- customValidation : {
31- pattern : {
32- value : / [ ^ @ ] + @ [ ^ @ ] + \. [ ^ @ ] + / i,
33- message : 'Du må oppgi en gyldig epost' ,
34- } ,
35- } ,
27+ customValidation : getCustomNumberValidation (
28+ { pattern : 'Du må oppgi en gyldig epost' } ,
29+ undefined ,
30+ / [ ^ @ ] + @ [ ^ @ ] + \. [ ^ @ ] + / i
31+ ) ,
3632 } ,
3733 {
3834 label : 'Telefon' ,
3935 name : 'phone' ,
40- customValidation : getCustomNumberValidation ( 8 , {
41- minLength : 'Minimum 8 tall i telefonnummeret' ,
42- maxLength : 'Maksimalt 8 tall i telefonnummeret' ,
43- pattern : 'Ikke gyldig telefonnummer' ,
44- } ) ,
36+ customValidation : getCustomNumberValidation (
37+ {
38+ minLength : 'Minimum 8 tall i telefonnummeret' ,
39+ maxLength : 'Maksimalt 8 tall i telefonnummeret' ,
40+ pattern : 'Ikke gyldig telefonnummer' ,
41+ } ,
42+ 8
43+ ) ,
44+ } ,
45+ {
46+ label : 'Postnummer' ,
47+ name : 'postcode' ,
48+ customValidation : customPostNumberValidation ,
4549 } ,
4650] ;
4751
@@ -66,26 +70,6 @@ const Billing = ({ onSubmit }) => {
6670 register = { register }
6771 />
6872 ) ) }
69- < InputField
70- label = "Postnummer"
71- name = "postcode"
72- errors = { errors }
73- register = { register }
74- customValidation = { {
75- minLength : {
76- value : 4 ,
77- message : 'Postnummer må være minimum 4 tall' ,
78- } ,
79- maxLength : {
80- value : 4 ,
81- message : 'Postnummer må være maksimalt 4 tall' ,
82- } ,
83- pattern : {
84- value : / ^ \d + $ / i,
85- message : 'Postnummer må bare være tall' ,
86- } ,
87- } }
88- />
8973 < OrderButton register = { register } />
9074 </ div >
9175 </ form >
0 commit comments