Laravel验证:不需要字段时排除大小检查
我在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
供应商
模型进行验证,而不是请求
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'