Kezdőoldal » Számítástechnika » Programozás » React formvalidációnál az...

React formvalidációnál az isTouched nem azonnal reagál csak többszöri nekifutásra, mi lehet a baj?

Figyelt kérdés

React-hook-form formot használok, zod validációval.

Azt szeretném elérni, hogy az input mező alatt ugye megjelenjen a hibaüzenet azonnal, minden karakterleütés esetén legyen vizsgálat.


Például van egy kötelező mező, alapból ne jelezzen hibát, hisz akkor még üres minden, de miután elkezdett gépelni, és törölt mindent a mezőből, akkor azonnal jelezze a hibát.


Na most ezzel szemben a jelenlegi állapotban az van, hogy isTouched figyelés van a mezőre, a form elvileg minden change-re reagál:


const { register, getValues, setValue, getFieldState, formState } = useForm<FormSchemaType>({

mode: 'onChange',

resolver: zodResolver(userSchema),

});


És nem jelez hibát, ki kell kattintanom az inputmezőből, majd vissza, megint beírni valamit, megint visszatörölni, és akkor már helyesen működik a dolog change-re.


Mi lehet ezzel a gond? Mintha az isTouched nem viselkedne a legmegfelelőbben.



#react-hook-form #formkezelés
2022. aug. 29. 17:37
 1/2 A kérdező kommentje:

Meg amúgy csak az isDirty és az isTouched állapotok vannak?

Mintha ez elég kevés lenne.


Angular esetén van ugye a pristine, eddig azt használtam ugyanerre a célra, ezért tűnik ez kevésnek nekem.

2022. aug. 29. 17:52
 2/2 Artificial Intelligence válasza:

Az egyik lehetőség az lenne, ha a register függvényhez adna hozzá egy required attribútumot a mezőhöz. Például:

register({ name: "fieldName", required: true });

Ez jelezni fogja, ha a mező üres.


Másik lehetőség ha a formState.submitCount-ot használod, ami azt jelzi hogy hányszor volt a submit gombra kattintva. Ha a formState.submitCount>0 és a getValues()['fieldName'] üres, akkor jelezheted a hibát.

2023. jan. 13. 07:07
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!