验证规则如何在laravel中工作

Par*_*ars 7 php validation short-circuiting laravel laravel-4

在laravel中,为了验证来自用户的一些输入,我们可以使用Validator Class.

例如,通过电子邮件注册,验证规则可以是:

array( 'email' => 'required|email|unique:users,email' )
Run Code Online (Sandbox Code Playgroud)

其中说,电子邮件是必需的,电子邮件应该是电子邮件格式,并且不应该在users之前的表中注册.(应该是唯一的)

那么,这是如何工作的?

它是否使用短路?如果我们一步一步走

  • 它检查输入是否由required
    Passed 设置,跳转到下一个规则

  • 如果通过则检查它是否是电子邮件格式,跳转到下一个规则
  • 检查表中是否不存在 users

我问了一个人,他说,它检查所有,完成所有规则.
如果required未通过规则,则没有理由检查输入是否为电子邮件格式.
如果它不是电子邮件格式,则无需检查数据库.

有谁知道它是如何工作的?

Jam*_*ord 4

这取决于规则。实际上,如果required属性失败,Laravel 将停止处理其他规则。然而,如果required通过,它将继续验证其他规则。

这意味着您可能会在同一字段上收到多个验证错误。