如何验证以检查 table 中是否存在具有此值的记录?
How can I validate to check if a record having this value exists in a table?
我正在做一个 Laravel 项目,我有以下与验证相关的问题。
过去我创建了这个验证规则(与新用户注册表相关):
$rules = [
'name' => 'required',
'surname' => 'required',
'login' => 'required|unique:pm_user,login',
'email' => 'required|email|confirmed|unique:pm_user,email',
'pass' => 'required|required|min:6',
'g-recaptcha-response' => 'required|captcha',
];
特别是这个规则数组包含这个规则:
'login' => 'required|unique:pm_user,login',
在我看来,最后一条规则检查插入的登录名是否还不存在于 pm_user table 中(因此它确保pm_user table 中不存在具有相同插入值的行 login 列)。
是吗?如果我做错了断言,请纠正我。
如果现在以这种方式工作,我的问题是如何在另一组验证规则中做相反的事情。
特别是我有另一个规则数组(定义为 class extendingFormRequest
:
public function rules() {
return [
'email' => 'required|email',
'token' => 'required',
];
}
特别是我必须确保在 pm_user table 中还存在一个具有名为 的列的值的记录email 与请求的 emai 字段相同。
如何更改此请求以执行此验证规则?
Laravel 5.4 已经有一个名为 exists
的内置验证规则。
https://laravel.com/docs/5.4/validation#rule-exists
我想你正在寻找:
'email' => 'required|email|exists:pm_user,email'
我正在做一个 Laravel 项目,我有以下与验证相关的问题。
过去我创建了这个验证规则(与新用户注册表相关):
$rules = [
'name' => 'required',
'surname' => 'required',
'login' => 'required|unique:pm_user,login',
'email' => 'required|email|confirmed|unique:pm_user,email',
'pass' => 'required|required|min:6',
'g-recaptcha-response' => 'required|captcha',
];
特别是这个规则数组包含这个规则:
'login' => 'required|unique:pm_user,login',
在我看来,最后一条规则检查插入的登录名是否还不存在于 pm_user table 中(因此它确保pm_user table 中不存在具有相同插入值的行 login 列)。
是吗?如果我做错了断言,请纠正我。
如果现在以这种方式工作,我的问题是如何在另一组验证规则中做相反的事情。
特别是我有另一个规则数组(定义为 class extendingFormRequest
:
public function rules() {
return [
'email' => 'required|email',
'token' => 'required',
];
}
特别是我必须确保在 pm_user table 中还存在一个具有名为 的列的值的记录email 与请求的 emai 字段相同。
如何更改此请求以执行此验证规则?
Laravel 5.4 已经有一个名为 exists
的内置验证规则。
https://laravel.com/docs/5.4/validation#rule-exists
我想你正在寻找:
'email' => 'required|email|exists:pm_user,email'