Mahdi Fadavi
Mahdi Fadavi
خواندن ۱ دقیقه·۲ سال پیش

چگونه ایمیل کاربری که آن را در لاراول به‌روزرسانی می‌کند تأیید کنیم؟

در لاراول، می‌تونیم از ولیدیشن "unique" برای تأیید اینکه یک آدرس ایمیل در زمانی که کاربر در حال به‌روزرسانی حساب خودش هست، استفاده کنیم. قانون uniqueبررسی می‌کنه که مقدار مشخصه‌ای که تأیید می‌شه از قبل در جدول پایگاه داده مشخص‌شده وجود نداشته باشه.

می تونیم از آن در قوانین اعتبارسنجی زیر در زمان بروزرسانی پروفایل کاربر استفاده کنیم:

'email' => 'required|email|unique:users,email,'.$user->id

همون طور که در کد بالا مشاهده می کنید قانون یکتا سه پارامتر می گیره: نام جدول، نام ستون و شناسه کاربر فعلی. در کد بالا، قانون یکتا بررسی می‌کنه که آدرس ایمیل در میان تمام آدرس‌های ایمیل در جدول کاربران، به جز آدرس ایمیل مرتبط با کاربر فعلی (مشخص شده توسط user->id) منحصر به فرد باشه و کاربر نتونه آدرس ایمیلی رو وارد کنه که سایر کاربران قبلا ثبت کردن.

نکته مهم قابل توجه در کد بالا این هست که وقتی ایمیل کاربر را می خواهیم به روز کنیم، باید شناسه کاربر را به قانون منحصربفرد (unique validation) منتقل کنیم تا ایمیل فعلی کاربر را نادیده بگیره و منحصر به فرد بودن ایمیل جدید رو در اطلاعات سایر کاربران بررسی کنه.

ایمیلuniquevalidationلاراولlaravel
شاید از این پست‌ها خوشتان بیاید