Laravel 5中的After Validation Hook有什么用?]

问题描述 投票:3回答:2

我正在学习Laravel 5,并尝试验证数据库中是否存在电子邮件,但如果失败则添加一些自定义消息。我在Laravel的文档中找到了After Validation Hook

$validator = Validator::make(...);

$validator->after(function($validator) use ($email) {
    if (emailExist($email)) {
        $validator->errors()->add('email', 'This email has been used!');
    }
});

if ($validator->fails()) {
    return redirect('somewhere')
        ->withErrors($validator);
}

但是我不太明白这是什么。因为我可以简单地做到这一点:

//as above

if (emailExist($email)) {
    $validator->errors()->add('email', 'This email has been used!');
}

//redirect as above

它仍然输出相同的结果。什么时候应该使用第一个而不是第二个来验证某些内容?

我正在学习Laravel 5,并尝试验证数据库中是否存在电子邮件,但如果失败则添加一些自定义消息。我在Laravel的文档$ validator = ...

php validation laravel-5 laravel-5.1
2个回答
5
投票

第一种方法的目的只是将包含在Validator对象内部的所有内容保留为使其更可重用。


0
投票

[在许多情况下,您可能会觉得有必要。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.