Laravel 5.7使用3个字段的required_with和required_with_all验证不起作用

鲁本·韦德森

我的问题是如何使用呢逻辑required_withrequired_with_all对Laravel验证的作品?

我已经阅读了文档,但无法从文档链接中获取任何信息

我正在申请3个不同领域

现在让我给你我的榜样,让我得到想要的

'start' => 'nullable|required_with:end',
'end' => 'nullable|required_with:start',
'repeat' => 'nullable|required_with_all:start,end',

如果我只提交仅重复字段,则不会在Laravel中执行验证。

您可以从我从中复制的代码中删除nullable is,但如果仅提供重复字段,则不会执行任何验证。

库尔特男修道士

OP在这里真正想要的是:

  1. 能够提交开始和结束而无需重复出现
  2. 一起需要开始和结束
  3. 如果存在开始或结束,则无法提交重复
use Illuminate\Validation\Validator;

class MyFormRequest extends FormRequest
    ...

    public function rules()
    {
        return [
          'start' => 'required_with:end|required_without:repeat',
          'end' => 'required_with:start|required_without:repeat',
          'repeat' => 'required_without_all:start,end',
        ];
    }

    public function withValidator(Validator $validator)
    {
        $validator->after(function ($validator) {
            if ((!$this->input('start') || !$this->input('end')) && $this->input('repeat')) {
                $validator->errors()->add('repeat', 'The repeat field is required when start and end are present.');
            }
        });
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章