Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel验证:不需要字段时排除大小检查_Laravel_Laravel Validation - Fatal编程技术网

Laravel验证:不需要字段时排除大小检查

Laravel验证:不需要字段时排除大小检查,laravel,laravel-validation,Laravel,Laravel Validation,我在Laravel应用程序中进行了验证,但我似乎无法使其工作 我正在对供应商模型进行验证,而不是请求 public function requestOpening(Supplier $supplier) { $validator = Validator::make($supplier->toArray(), $this->fullValidationRules()); if ($validator->fails()) { return redir

我在Laravel应用程序中进行了验证,但我似乎无法使其工作

我正在对
供应商
模型进行验证,而不是请求

public function requestOpening(Supplier $supplier)
{
    $validator = Validator::make($supplier->toArray(), $this->fullValidationRules());
    if ($validator->fails()) {
        return redirect("open-new/supplier/{$supplier->id}")
            ->withErrors($validator);
    }
    // ...
}
我希望仅当
为_hfm==1
时才需要
hfm\u code
。我尝试了两种方法:

'hfm_code' => 'size:6|exclude_if:is_hfm,0',

在这两种情况下,我都会遇到验证错误:

hfm代码必须为6个字符


为\u hfm==0时,如何忽略尺寸检查?

这里的顺序似乎很重要:

'hfm_code' => 'exclude_if:is_hfm,0|size:6'

应该有用。我认为这是因为它按顺序评估规则,如果
exclude\u如果
通过,它将忽略其余规则谢谢!这起作用了。我不认为订单很重要,因为在验证请求时,
'hfm\u code'=>'size:6 | required\u with:is\u hfm'
是有效的
'hfm_code' => 'exclude_if:is_hfm,0|size:6'