📜 نمایش خطاهای فرم در لاراول
در لاراول، یکی از مهمترین ویژگیهای موجود برای مدیریت و نمایش خطاهای فرمها، استفاده از سیستم اعتبارسنجی (Validation) است. با استفاده از این سیستم، میتوانید بهراحتی ورودیهای کاربر را بررسی کرده و در صورت وجود خطا، پیامهای مناسب را بهکاربر نمایش دهید.
در این مقاله، نحوه استفاده از سیستم اعتبارسنجی و نمایش خطاهای فرم در لاراول را بهطور کامل بررسی خواهیم کرد.
1. 🛠 اعتبارسنجی در لاراول
در لاراول، میتوانید اعتبارسنجی دادههای ورودی را با استفاده از کلاسهای مختلف انجام دهید. سادهترین راه استفاده از متد validate() است که میتوانید آن را در کنترلرها بهکار ببرید.
1.1. استفاده از متد validate
در این روش، هنگام ارسال فرم، لاراول بهطور خودکار دادههای ورودی را اعتبارسنجی کرده و در صورت وجود خطا، آنها را بهصورت آرایهای از خطاها در دسترس شما قرار میدهد.
مثال کنترلر:
در این مثال، لاراول بهطور خودکار بررسی میکند که آیا فیلدهای name، email و password بهدرستی پر شدهاند یا خیر و در صورت وجود خطا، آنها را بهصورت آرایه به ویو ارسال میکند.
2. 💡 نمایش خطاهای فرم در ویو
بعد از اعتبارسنجی درخواست، اگر خطایی وجود داشته باشد، میتوانید آنها را در ویو نمایش دهید. لاراول بهطور پیشفرض خطاهای فرم را در متغیری به نام errors قرار میدهد که میتوانید از آن در ویو استفاده کنید.
2.1. نمایش خطاهای عمومی
برای نمایش خطاهای فرم در ویو، از دستورات شرطی @error و @foreach استفاده میشود.
مثال نمایش خطا در Blade Template:
در این مثال، خطاها برای هر فیلد بهطور جداگانه نمایش داده میشوند. از @error('field_name') برای هر فیلد استفاده میشود تا در صورت وجود خطا، پیام مربوطه نمایش داده شود.
2.2. نمایش تمام خطاها بهصورت یکجا
اگر بخواهید تمام خطاهای موجود را بهصورت یکجا نمایش دهید، میتوانید از آرایه errors برای نمایش تمام پیامهای خطا استفاده کنید.
مثال نمایش تمام خطاها:
در اینجا، تمام خطاها بهصورت یک لیست نمایش داده میشوند.
3. 🔄 حفظ مقادیر ورودی بعد از ارسال فرم
برای جلوگیری از از دست رفتن دادههای واردشده توسط کاربر بعد از ارسال فرم (در صورت وجود خطا)، میتوانید از دستور old() استفاده کنید که مقدار ورودیهای قبلی فرم را باز میگرداند.
مثال:
این دستور باعث میشود که اگر فرم با خطا ارسال شود، مقادیر واردشده توسط کاربر در فیلدها حفظ شوند.
4. 🛡 استفاده از پیامهای سفارشی
در لاراول، شما میتوانید پیامهای خطای پیشفرض را سفارشی کنید. برای این کار، کافی است در متد validate یا در فایل زبان، پیامهای خاص خود را تعریف کنید.
4.1. تعریف پیامهای سفارشی در کنترلر
در هنگام استفاده از متد validate، میتوانید پیامهای سفارشی برای هر فیلد و قانون اعتبارسنجی تعیین کنید.
مثال:
4.2. تعریف پیامهای سفارشی در فایل زبان
شما همچنین میتوانید پیامهای پیشفرض لاراول را در فایلهای زبان (مانند resources/lang/fa/validation.php) سفارشی کنید.
مثال در فایل validation.php:
5. 📊 اعتبارسنجی پیچیدهتر و استفاده از کلاسهای فرم
برای اعتبارسنجیهای پیچیدهتر یا زمانی که نیاز به کدهای بیشتر دارید، میتوانید از Form Request Validation استفاده کنید که به شما این امکان را میدهد که اعتبارسنجیها را در کلاسهای جداگانه قرار دهید.
5.1. ایجاد یک کلاس Form Request
برای ایجاد یک کلاس فرم درخواست، میتوانید از دستور زیر استفاده کنید:
در این کلاس میتوانید قوانین اعتبارسنجی و پیامهای سفارشی را تعریف کنید.
مثال کلاس درخواست:
سپس در کنترلر خود میتوانید از این کلاس درخواست بهجای validate استفاده کنید:
نتیجهگیری
در لاراول، سیستم اعتبارسنجی و نمایش خطاهای فرم بسیار قدرتمند و انعطافپذیر است. با استفاده از متد validate(), @error, old(), و قابلیت سفارشیسازی پیامها، شما میتوانید تجربهای عالی برای کاربر در فرمها فراهم کنید. این سیستم به شما کمک میکند که بهراحتی خطاهای ورودی کاربران را شناسایی و نمایش دهید.