laravel - 通过数据库记录进行 Laravel 验证
问题描述
问题是如何通过数据库模型进行验证,我有模型“电子邮件”。如果他们的电子邮件已经在我们的电子邮件模型中,我只想让人们可以注册。
电子邮件数据库表
Schema::create('emails', function (Blueprint $table) {
$table->increments('id');
$table->text('username')->nullable();
$table->text('fullname')->nullable();
$table->text('description')->nullable();
$table->text('email')->nullable();
$table->timestamps();
});
Auth@RegisterController
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|max:255|unique:users', here i guess
'password' => 'required|min:6|confirmed',
]);
}**strong text**
解决方案
您必须对表unique
中的唯一电子邮件使用验证,并使用验证来检查表中是否存在电子邮件。users
exists
emails
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|max:255|unique:users|exists:emails',
'password' => 'required|min:6|confirmed',
]);
}
假设您在和表中都有email
字段users
emails
推荐阅读
- python - Python中是否有一个函数可以将一个数字乘以另一个X倍并产生总和?见描述
- javascript - 主题调用 next 导致一个奇怪的错误
- python - PyQt5 正在截屏而不等待 api 响应
- reactjs - Chromatic CLI 不构建故事书
- python - 如何检测照片底部的黑条
- php - 如何根据键值合并两个数组(数组值)?
- julia - Julia - 对从另一个函数返回的矩阵求幂
- jenkins - CI/CD 管道和构建服务器
- azure-active-directory - 具有范围的 Azure AD 应用程序权限
- python - 在 DuplicateCallbackOutput 中使用 dash.testing 中的 import_app 结果