Laravel 5.7验证规则

时间:2018-10-31 08:10:41

标签: laravel laravel-5 laravel-validation laravel-5.7

提交表单时,这就是我要验证我的字段...

<?php

$this->validate($request, [
    'name' => __('required|max:255|unique:templates,name,NULL,id,company_id,:company_id', [
        'company_id' => $request->input('companies')
    ]),
    'modules' => 'required|numeric',
    'companies' => 'required|numeric',
    'start_date' => 'required_with:limited_availability|date|before:end_date',
    'end_date' => 'required_with:limited_availability|date|after:start_date',
    'indesign_location' => __('required|file|mimetypes:application/zip|max::max_upload_size', [
        'max_upload_size' => config('file.max_size')
    ])
]);

我要实现的目标: 仅当存在字段start_date时,才需要(并因此验证)字段end_datelimited_availability

现在会发生什么::我没有收到该字段为必填项的消息,但在两个日期字段中都收到了一条错误消息,指出指定的日期无效。

limited_availability是一个复选框,start_dateend_date都是日期输入字段。

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

您可以使用这些验证规则之一来实现。输入逗号,它将视为第二个参数。

'start_date' => 'required_if:limited_availability,'
'end_date' => 'required_if:limited_availability,' 

or

 'start_date' => 'required_without:limited_availability,'
 'end_date' => 'required_without:limited_availability,'

答案 1 :(得分:0)

这可能是一个幼稚的解决方案。但是我很确定这会起作用。

export VIRTUALENV_PYTHON=${VIRTUALENVWRAPPER_PYTHON}

希望有帮助。