کنترل فرم (Form Control)

فرم برای جمع‌آوری و اعتبارسنجی داده‌های ورودی کاربر استفاده می‌شود. ما از react-hook-form به عنوان کتابخانه کنترل فرم استفاده می‌کنیم. بیشتر کامپوننت‌های فرم ما با react-hook-form یا دیگر کتابخانه‌های فرم سازگار هستند.

پایه (Basic)

نمونه استفاده از یک فرم ساده با اعتبارسنجی.

چیدمان فرم (Form Layout)

Form یا FormContainer به ما اجازه می‌دهد تمام FormItem ها را از طریق یک prop layout کنترل کنیم.

اندازه فرم (Form Size)

Form یا FormContainer به ما امکان کنترل اندازه FormItem را نیز می‌دهد.

محتوای اضافی برچسب (Label Extra)

می‌توانیم محتوای اضافی به برچسب فرم با استفاده از prop extra در FormItem اضافه کنیم.

اعتبارسنجی سطح فیلد (Field-level Validation)

کتابخانه react-hook-form از اعتبارسنجی سطح فیلد پشتیبانی می‌کند.

اعتبارسنجی شِما (Schema Validation)

می‌توانیم از Zod برای اعتبارسنجی شِمای اشیاء استفاده کنیم.

اعتبارسنجی وابسته (Dependent Validation)

می‌توانید از شرط‌های Zod برای انجام اعتبارسنجی فیلد بر اساس مقادیر دیگر فرم استفاده کنید.

اعتبارسنجی ناهمگام (Async Validation)

می‌توانید فیلدها را به صورت ناهمگام اعتبارسنجی کنید.

فرم پویا (Dynamic Form)

نمونه‌ای از استفاده از فرم پویا با FieldArray.

کنترل فرم ترکیبی (Mixed Form Control)

نمایش انواع مختلف کامپوننت‌های مرتبط با فرم در یک فرم.

ری‌اکت هوک فرم

کتابخانه React Hook Form یک راه‌حل قدرتمند و انعطاف‌پذیر برای مدیریت فرم‌ها در برنامه‌های ری‌اکت است. این ابزار مدیریت فرم را با ارائه مجموعه‌ای از هوک‌ها و ابزارهایی که فرآیند گرفتن داده‌ها، اعتبارسنجی و ارسال فرم‌ها را ساده می‌کند، آسان می‌سازد. با استفاده از useForm، شما به‌راحتی می‌توانید وضعیت فرم را مدیریت کنید، تغییرات ورودی را پردازش کنید، اعتبارسنجی انجام دهید و فرم‌ها را با حداقل کد اضافی ارسال کنید. برای اطلاعات بیشتر و مثال‌ها بهمستنداتمراجعه کنید.

زود

زود یک کتابخانه تعریف اسکیما و اعتبارسنجی است که مبتنی بر تایپ‌اسکریپت طراحی شده است. منظور از "اسکیما" هر نوع داده‌ای، از یک رشته ساده تا یک شیء پیچیده تودرتو است. زود برای کاربرپسندترین تجربه ممکن طراحی شده است. هدف این ابزار حذف تعریف‌های تکراری تایپ‌هاست. با زود، شما یک بار اعتبارسنج را تعریف می‌کنید و زود به‌طور خودکار نوع استاتیک تایپ‌اسکریپت را استنتاج می‌کند. همچنین ترکیب تایپ‌های ساده به ساختارهای داده پیچیده بسیار آسان است. برای اطلاعات بیشتر و مثال‌ها بهمستندات رسمیمراجعه کنید.

API

فرم کانتینر (FormContainer)
ویژگیتوضیحاتنوعپیش‌فرض
layoutچیدمان فرم'horizontal' | 'vertical' | 'inline''vertical'
sizeاندازه آیتم فرم'lg' | 'md' | 'sm''md'
labelWidthعرض برچسب فرمstring | number100
فرم ایتم (FormItem)
ویژگیتوضیحاتنوعپیش‌فرض
layoutچیدمان فرم'horizontal' | 'vertical' | 'inline'-
sizeاندازه آیتم فرم'lg' | 'md' | 'sm'-
labelWidthعرض برچسب فرمstring | number-
errorMessageپیام خطا که هنگام فعال شدن invalid نمایش داده می‌شودstring-
invalidوضعیت اعتبارسنجی آیتم فرمboolean-
asteriskآیا علامت ستاره در کنار متن برچسب نمایش داده شودboolean-
extraمحتوای سفارشی اضافی در کنار متن برچسبstring | ReactNode-
htmlForتنظیم مقدار htmlFor برای برچسب فرعیstring-