Php 如果输入值为空(";),则忽略验证规则

Php 如果输入值为空(";),则忽略验证规则,php,laravel,Php,Laravel,我有一个创建会议的表单,我有一些验证规则,如下所示。例如,城市不是必需的,但应该是字符串。问题在于,当用户单击“存储”按钮而不填写非必填字段时,会出现如下验证错误: 这座城市一定是一根绳子 你知道如何解决这个问题吗?如果表单字段的值为“”,是否忽略规则 public function store(Request $request) { $this->validate($request, [ 'name' => 'required|st

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

这座城市一定是一根绳子

你知道如何解决这个问题吗?如果表单字段的值为“”,是否忽略规则

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

如果任何字段都是非必需字段,则可以使用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',
        ]);
        ...
    }   

添加
nullable
规则
'city'=>'nullable | string'
尝试
nullable
。我认为输入不是一个空字符串,而是
null
谢谢,就像它出现了一个错误“数据丢失”似乎该错误与“Carbon/Carbon.php”有关,带有“'date'=>'nullable | date|格式:“dfy-H:I”,”。您发布的问题与日期无关。这是另一个问题,谢谢,这是另一个问题,它适用于nullable。