【问题标题】:Ignore validation rules if input value is empty ("")如果输入值为空 (""),则忽略验证规则
【发布时间】:2019-01-30 18:27:32
【问题描述】:

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

城市必须是字符串。

你知道如何解决这个问题吗?如果表单域的值为 "" 忽略规则?

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

【问题讨论】:

  • 添加nullable规则'city' => 'nullable|string'
  • 试试nullable。我认为输入不是空字符串而是null
  • 谢谢,好像出现错误“数据丢失”,似乎该错误与“'date'=>'nullable|date_format:”d F Y 的“Carbon/Carbon.php”有关- H:i"', ".
  • 您发布的问题与日期无关。那就另当别论了
  • 谢谢,这是其他问题,它适用于 nullable。

标签: php laravel


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多