import { useEffect } from 'react'; import { WithForm } from './WithForm'; export function UserForm({ form, onSubmit }) { useEffect(() => { if (form.valid && form.submitted) onSubmit(form.data); }, [form.valid, form.submitted]); return (
{ form.hasError('username') ?

{form.error('username')}

: null }
{ form.hasError('password') ?

{form.error('password')}

: null }
{ form.hasError('passwordVerification') ?

{form.error('passwordVerification')}

: null }
); }; const validators = { username: (value, formData) => { if (!value) return { hasError: true, message: 'Le nom d\'utilisateur ne peut pas être vide !' } return { hasError: false, message: '' }; }, password: (value, formData) => { if (!value) return { hasError: true, message: 'Le mot de passe ne peut pas être vide !' } if (value !== formData.passwordVerification) return { hasError: true, message: 'Vos deux mots de passe sont différents !' } return { hasError: false, message: '' }; }, passwordVerification: (value, formData) => { if (value !== formData.password) return { hasError: true, message: 'Vos deux mots de passe sont différents !' } return { hasError: false, message: '' }; } }; export const ExtendedUserForm = WithForm(validators)(UserForm);