مشکل استفاده از custom hook برای اعتبار سنجی input ها

پرسیده شده
فعالیت 1239 روز پیش
دیده شده 490 بار
0

 

  سلام یوس فرم کامپوننتی هست که اینپوت هارو مقدار دهی و اعتبارسنجی میکنه دقیقا مقدار دهیش به همون شکلی خودتون تو قسمت کاستم هوک گفته بودید فقط تو اعتبار سنجیش که تابع هندل سابمیت هست من هرجوری مقداردهی میکنم تو ست اینپوت ارورر 

 یا مقدار ایمیل قرارمیگیره یا پسورد فقط یکیشون قرار میگیره و قاطی میشه

میخواستم بدونم چجوری مقدار دهی کنم    ست اینپوت ارورر   رو که قاطی نشه و مشکل پیش نیاد

 

مثلا خودتون ست فیلد رو با ایونت تارگت ولیو منحصر به فرد کردید

فایل پیوست
error.zip
357.44 KB

Amir Tahmasebi
Amir Tahmasebi

16 آذر 99

1
حذف شده

مشکل از نحوه فراخوانی تابع setInputError

شما هر آنچه که به عنوان پارامتر ورودی اون پاس بدی به عنوان مقدار inputError دریافت می کنی و این یعنی همیشه اخرین باری که این تابع رو فراخوانی بکنی همون مقدار رو دریافت میکنی!

به روش های مختلفی میشه این مشکل رو حل کرد و بستگی به نوع پیاده سازی داره مثلا اگر نیاز چند بار این تابع رو فراخوانی بکنی و ارور ها رو جدا جدا ثبت بکنی میتونی با استفاده از spread مقادیر قبلی که داخل inputError هست رو هم اضافه بکنی که نمونه این مورد رو داخل handleChange میتونی ببینی.

یه روش دیگه هم این همه ارور ها رو داخل یک آبجکت دخیره بکنی و در اخر تابع فقط یک بار setInputError رو فراخوانی بکنی

 

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

16 آذر 99