电子邮件验证无法使用laravel验证以更新形式工作

时间:2017-05-24 05:28:45

标签: laravel

$id = $request->id;
$validation = Validator::make($request->all(), [
   'email' => 'unique:customers,email,'.$request->id
]);

2 个答案:

答案 0 :(得分:0)

您正在使用自定义验证程序。您需要手动处理验证失败。此外,您的代码会检查表customers中的唯一电子邮件,但用户$request->id的电子邮件除外。我认为这是有目的的。

$validator = \Validator::make($request->all(), [
    'email' => 'email|unique:customers,email,' . $request->id
]);

if ($validator->fails())  {
    // Handle failure
}

以下代码将自动处理验证失败并重定向并返回错误和输入。

$this->validate($request, [
    'email' => 'email|unique:customers,email,' . $request->id
]);

答案 1 :(得分:0)

您可以尝试类似

的内容
Validator::make($data, [
    'email' => [
        'required',
        Rule::unique('customers')->ignore($customer->id),
    ],
]);