'sometimes|email']); 和 Validator::-6ren">
gpt4 book ai didi

php - Laravel 5 - 验证规则中 "sometimes"的真正含义

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:02 30 4
gpt4 key购买 nike

在 Laravel 5 中,让我们考虑这两种不同的验证规则:

Validator::make($data, ['email' => 'sometimes|email']);

Validator::make($data, ['email' => 'email']);

测试后:

  • 如果 $data['email'] 存在并且是有效的电子邮件 => 两者都会成功。
  • 如果 $data['email'] 存在并且不是有效的电子邮件 => 两者都会失败。
  • 如果 $data 确实有一个电子邮件 key => 两者都会成功。

那么这两个规则有什么区别呢? “有时”的目的是什么?

最佳答案

来自 Laravel 的 validation docs :

In some situations, you may wish to run validation checks against a field only if that field is present in the input array. To quickly accomplish this, add the sometimes rule to your rule list.

因此,从本质上讲,email 只有在该字段实际上是 POST 请求的一部分时才会被验证。

这对于 required 规则特别有用,如果留空该字段将抛出错误,但对于 sometimes 仅当该字段存在于第一名。如果没有有时,缺少的物理字段将总是导致“必填字段”错误。

这不是您经常需要的东西,但它是一个非常棒的小功能。

关于php - Laravel 5 - 验证规则中 "sometimes"的真正含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027705/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com