تکنولوژی نوین اینترنتی
در لاراول، یکی از مهمترین ویژگیهای موجود برای مدیریت و نمایش خطاهای فرمها، استفاده از سیستم اعتبارسنجی (Validation) است. با استفاده از این سیستم، میتوانید بهراحتی ورودیهای کاربر را بررسی کرده و در صورت وجود خطا، پیامهای مناسب را بهکاربر نمایش دهید.
در این مقاله، نحوه استفاده از سیستم اعتبارسنجی و نمایش خطاهای فرم در لاراول را بهطور کامل بررسی خواهیم کرد.
در لاراول، میتوانید اعتبارسنجی دادههای ورودی را با استفاده از کلاسهای مختلف انجام دهید. سادهترین راه استفاده از متد validate()
است که میتوانید آن را در کنترلرها بهکار ببرید.
validate
در این روش، هنگام ارسال فرم، لاراول بهطور خودکار دادههای ورودی را اعتبارسنجی کرده و در صورت وجود خطا، آنها را بهصورت آرایهای از خطاها در دسترس شما قرار میدهد.
در این مثال، لاراول بهطور خودکار بررسی میکند که آیا فیلدهای name
، email
و password
بهدرستی پر شدهاند یا خیر و در صورت وجود خطا، آنها را بهصورت آرایه به ویو ارسال میکند.
بعد از اعتبارسنجی درخواست، اگر خطایی وجود داشته باشد، میتوانید آنها را در ویو نمایش دهید. لاراول بهطور پیشفرض خطاهای فرم را در متغیری به نام errors
قرار میدهد که میتوانید از آن در ویو استفاده کنید.
برای نمایش خطاهای فرم در ویو، از دستورات شرطی @error
و @foreach
استفاده میشود.
در این مثال، خطاها برای هر فیلد بهطور جداگانه نمایش داده میشوند. از @error('field_name')
برای هر فیلد استفاده میشود تا در صورت وجود خطا، پیام مربوطه نمایش داده شود.
اگر بخواهید تمام خطاهای موجود را بهصورت یکجا نمایش دهید، میتوانید از آرایه errors
برای نمایش تمام پیامهای خطا استفاده کنید.
در اینجا، تمام خطاها بهصورت یک لیست نمایش داده میشوند.
برای جلوگیری از از دست رفتن دادههای واردشده توسط کاربر بعد از ارسال فرم (در صورت وجود خطا)، میتوانید از دستور old()
استفاده کنید که مقدار ورودیهای قبلی فرم را باز میگرداند.
این دستور باعث میشود که اگر فرم با خطا ارسال شود، مقادیر واردشده توسط کاربر در فیلدها حفظ شوند.
در لاراول، شما میتوانید پیامهای خطای پیشفرض را سفارشی کنید. برای این کار، کافی است در متد validate
یا در فایل زبان، پیامهای خاص خود را تعریف کنید.
در هنگام استفاده از متد validate
، میتوانید پیامهای سفارشی برای هر فیلد و قانون اعتبارسنجی تعیین کنید.
شما همچنین میتوانید پیامهای پیشفرض لاراول را در فایلهای زبان (مانند resources/lang/fa/validation.php
) سفارشی کنید.
validation.php
:
برای اعتبارسنجیهای پیچیدهتر یا زمانی که نیاز به کدهای بیشتر دارید، میتوانید از Form Request Validation استفاده کنید که به شما این امکان را میدهد که اعتبارسنجیها را در کلاسهای جداگانه قرار دهید.
برای ایجاد یک کلاس فرم درخواست، میتوانید از دستور زیر استفاده کنید:
در این کلاس میتوانید قوانین اعتبارسنجی و پیامهای سفارشی را تعریف کنید.
سپس در کنترلر خود میتوانید از این کلاس درخواست بهجای validate
استفاده کنید:
در لاراول، سیستم اعتبارسنجی و نمایش خطاهای فرم بسیار قدرتمند و انعطافپذیر است. با استفاده از متد validate()
, @error
, old()
, و قابلیت سفارشیسازی پیامها، شما میتوانید تجربهای عالی برای کاربر در فرمها فراهم کنید. این سیستم به شما کمک میکند که بهراحتی خطاهای ورودی کاربران را شناسایی و نمایش دهید.