【问题标题】:Adding a check for validator if field is not empty如果字段不为空,则添加对验证器的检查
【发布时间】:2018-06-01 09:49:13
【问题描述】:

我有一个验证器供用户更新他们的个人资料,并且用户可以在同一页面上更改他们的密码。虽然,我不想检查所有 3 个字段(当前密码、新密码/确认密码)是否为空。

有没有办法可以在Validator::makeand check 中添加自定义检查,或者添加到验证器并添加返回错误页面?

$validator = Validator::make($request->all(), [
        'first_name' => 'required|max:191',
        'last_name' => 'required|max:191',
        'email' => 'required|email|max:191'
      ]);

示例 3 字段是空的,不会有问题,但如果它们被填写了怎么办...我可以附加到这个以进行检查

例子

if ($request->new_password) {
$validator .= array('new_password' => 'required');
}

我的最后一个解决方案是拥有两个验证器...这样可行吗?

【问题讨论】:

    标签: php laravel validation laravel-5 laravel-4


    【解决方案1】:

    您可以通过将sometimes 添加到您的规则列表来完成此操作。 sometimes 仅当该字段存在于输入数组中时才针对该字段运行验证检查。例如,

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

    更多规则选项可以参考Laravel Validator Documentation

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 2020-04-28
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2011-10-25
      • 1970-01-01
      • 2022-01-17
      相关资源
      最近更新 更多