Browse Source

step two validation schme

amenpunk 3 years ago
parent
commit
8830ab75a1

+ 4 - 0
src/App.css

208
     display : flex;
208
     display : flex;
209
     flex-direction:row;
209
     flex-direction:row;
210
 }
210
 }
211
+.feedback_error{
212
+    color: #fd4b4b;
213
+    font-size:14px;
214
+}

+ 3 - 0
src/Components/Modal/PasswordModal.jsx

22
         lastName: '',
22
         lastName: '',
23
         puesto: '',
23
         puesto: '',
24
         niveles_educativo: 0,
24
         niveles_educativo: 0,
25
+        puesto_id: 0,
25
     });
26
     });
26
 
27
 
27
     const isStepSkipped = (step) => {
28
     const isStepSkipped = (step) => {
65
                 <StepTwo 
66
                 <StepTwo 
66
                     handleNext={handleNext} 
67
                     handleNext={handleNext} 
67
                     handleBack={handleBack} 
68
                     handleBack={handleBack} 
69
+                    password={password} 
70
+                    setPassword={setPassword} 
68
                 />
71
                 />
69
         },
72
         },
70
         {
73
         {

+ 3 - 3
src/Components/Password/Steps/one.js

27
         .required("Ingresa un nombre válido"),
27
         .required("Ingresa un nombre válido"),
28
         lastName: 
28
         lastName: 
29
         Yup.string()
29
         Yup.string()
30
-        .required("Ingresa un apellido valido")
30
+        .required("Ingresa un apellido válido")
31
         .min(2, 'Demasiado corto!').max(50, 'Demasiado Largo!'),
31
         .min(2, 'Demasiado corto!').max(50, 'Demasiado Largo!'),
32
         puesto: 
32
         puesto: 
33
         Yup.string()
33
         Yup.string()
34
-        .required("Ingrea un puesto valido"),
34
+        .required("Ingrea un puesto válido"),
35
         niveles_educativo: 
35
         niveles_educativo: 
36
-        Yup.number('Ingresa un valor valido')
36
+        Yup.number('Ingresa un valor válido')
37
         .required('Ingresa un nivel educativo válido'),
37
         .required('Ingresa un nivel educativo válido'),
38
     });
38
     });
39
 
39
 

+ 17 - 9
src/Components/Password/Steps/two.js

11
 export function StepTwo(props) {
11
 export function StepTwo(props) {
12
 
12
 
13
     const PlazaScheme = Yup.object().shape({
13
     const PlazaScheme = Yup.object().shape({
14
-        puesto: Yup.object().required('Escoge un puesto valido')
14
+        puesto_id: 
15
+        Yup.number()
16
+        .positive('Escoge un puesto válido')
17
+        .required('Escoge un puesto válido')
15
     });
18
     });
16
 
19
 
17
-    let {  handleNext, handleBack } = props
20
+    let {  handleNext, handleBack, password, setPassword } = props
18
 
21
 
19
     const formik = useFormik({
22
     const formik = useFormik({
20
         initialValues: {
23
         initialValues: {
21
-            puesto: {}
24
+            puesto_id: password.puesto_id
22
         },
25
         },
23
         onSubmit: (fields) => {
26
         onSubmit: (fields) => {
24
-            console.log('SUBMIT > ',fields)
27
+            setPassword({...password, ...fields})
25
             handleNext()
28
             handleNext()
26
         },
29
         },
27
         validationSchema: PlazaScheme,
30
         validationSchema: PlazaScheme,
30
     const [age, setAge] = React.useState('');
33
     const [age, setAge] = React.useState('');
31
 
34
 
32
     const handleChange = (event) => {
35
     const handleChange = (event) => {
36
+        console.log("Edad -> ",event.target.value)
33
         setAge(event.target.value);
37
         setAge(event.target.value);
34
     };
38
     };
35
 
39
 
36
-    const { handleSubmit,} = formik;
40
+    const { handleSubmit, touched, errors, getFieldProps } = formik;
37
 
41
 
38
     return (
42
     return (
39
         <FormikProvider style={{ padding : 25 }} value={formik}>
43
         <FormikProvider style={{ padding : 25 }} value={formik}>
48
                             value={age}
52
                             value={age}
49
                             label="Puestos"
53
                             label="Puestos"
50
                             onChange={handleChange}
54
                             onChange={handleChange}
55
+                            {...getFieldProps('puesto_id')}
56
+                            error={Boolean(touched.puesto_id && errors.puesto_id)}
51
                         >
57
                         >
52
-                            <MenuItem value={10}>Ten</MenuItem>
53
-                            <MenuItem value={20}>Twenty</MenuItem>
54
-                            <MenuItem value={30}>Thirty</MenuItem>
58
+                            <MenuItem value={10}>Full Stack</MenuItem>
59
+                            <MenuItem value={20}>Web Developer</MenuItem>
60
+                            <MenuItem value={30}>Database Administrator</MenuItem>
55
                         </Select>
61
                         </Select>
56
                     </FormControl>
62
                     </FormControl>
57
-
63
+                    <label className="feedback_error">
64
+                        {touched.puesto_id && errors.puesto_id}
65
+                    </label>
58
                     <Box sx={{ mb: 2 }}>
66
                     <Box sx={{ mb: 2 }}>
59
                         <div style={{ paddingTop  : 15}}>
67
                         <div style={{ paddingTop  : 15}}>
60
                             <Button
68
                             <Button