如果字段不为空,则添加对验证器的检查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果字段不为空,则添加对验证器的检查相关的知识,希望对你有一定的参考价值。

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

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

$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');
}

我的最后一个解决方案是拥有两个验证器......那会有效吗?

答案

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

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

有关更多规则选项,请参阅Laravel Validator Documentation

以上是关于如果字段不为空,则添加对验证器的检查的主要内容,如果未能解决你的问题,请参考以下文章

如果 UITextField 不为空,请实时检查

如果全部都不为空,则组合文本字段结果 RxSwift

验证电子邮件字段并确保不为空

仅当字段不为空时才进行电子邮件验证

Jquery 验证 - 如果表为空

如果 Laravel 中的值不为空,如何验证输入字段