/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/src/setValueWithTrigger.tsx
74 строки
2 KB
Bill
7️⃣ V7 (#3741)
01 апр 2021, 00:14
Не верифицирован
01 апр 2021, 00:14
9555d16
Код
Авторство
О чём код?
import React, { useEffect } from 'react'; import { useForm } from 'react-hook-form'; let renderCounter = 0; const SetValueWithTrigger: React.FC = () => { const { register, setValue, handleSubmit, formState: { errors }, } = useForm<{ firstName: string; lastName: string; }>(); useEffect(() => { register('firstName', { required: 'required', minLength: { value: 10, message: 'minLength 10', }, }); register('lastName', { validate: (data) => { if (data === 'bill') { return true; } if (data && data.length < 10) { return 'too short'; } return 'error message'; }, }); }, [register]); renderCounter++; return ( <form onSubmit={handleSubmit(() => {})}> <input name="firstName" placeholder="firstName" onChange={(e) => setValue('firstName', e.target.value, { shouldValidate: true, shouldDirty: true, }) } /> {errors.firstName && <p>{errors.firstName.message}</p>} <input name="lastName" placeholder="lastName" onChange={(e) => setValue('lastName', e.target.value, { shouldValidate: true, shouldDirty: true, }) } /> {errors.lastName && <p>{errors.lastName.message}</p>} <button>Submit</button> <div id="renderCount">{renderCounter}</div> </form> ); }; export default SetValueWithTrigger;