Codeigniter 4 可选值的验证

Web*_*rni 4 php codeigniter codeigniter-4

如何验证 codeigniter 4 中的可选值

例如条件

  1. 如果用户填写了一个字段,该字段是可选的
  2. 如果用户将一个字段留空,这是可选的

我应该如何在第一个条件下验证

这是我的模型代码,我希望电话字段是可选的

'create' => [
            'message'               => 'required|alpha_numeric_punct|max_length[10000]',
            'name'                  => 'required|alpha_space',
            'email'              => 'required|valid_email',
            'phone'                 => 'alpha_numeric_punct',           
            'status'                => 'required|integer',
        ],
Run Code Online (Sandbox Code Playgroud)

asi*_*dev 8

您可以使用permit_emptywhich 允许字段接收空数组、空字符串、null 或 false。

在你的模型代码中

'create' => [
            'message'               => 'required|alpha_numeric_punct|max_length[10000]',
            'name'                  => 'required|alpha_space',
            'email'                 => 'required|valid_email',
            'phone'                 => 'permit_empty|alpha_numeric_punct',           
            'status'                => 'required|integer',
        ],
Run Code Online (Sandbox Code Playgroud)

更多验证规则请遵循文档

希望这个答案对您有帮助。