如果输入值为空(“”),则忽略验证规则

时间:2018-06-27 16:27:21

标签: php laravel

我有一个创建会议的表格,并且有一些如下的验证规则。例如,城市不是必需的,但应为字符串。问题是,当用户单击“存储”按钮而不填写非必填字段时,会出现验证错误,如:

  

城市必须是字符串。

您知道如何解决该问题吗?如果表单字段的值为“”,则忽略规则?

 public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required|string',
            'categories' => 'array|between:1,3',
            'city' => 'string',
            'zip_code' => 'string',
        ]);
        ...
    }   

1 个答案:

答案 0 :(得分:0)

如果任何字段都不是必填字段,则可以使用nullable。下面您可以看到代码...

public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required|string',
            'categories' => 'nullable|array|between:1,3',
            'city' => 'nullable|string',
            'zip_code' => 'nullable|string',
        ]);
        ...
    }