拉拉维尔验证required_if不起作用



如果另一个字段包含"{"的性格。
我尝试了几种组合,但看起来Laravel根本不应用规则。

public function rules()
{   
$rules = [ 
'title' => 'required', 
'url' => 'required',
'model_name' => 'required_if:url,url:regex:/{/',
// The following doesn't work either:
// 'model_name' => 'required_if:url,url:not_regex:/{/',
// 'model_name' => 'required_if:url,regex:/{/',
// 'model_name' => 'required_if:url,not_regex:/{/',
];  
return $rules;
} 

你知道吗?

如果您想为required_if规则构造一个更复杂的条件,您可以使用rule::requiredIf方法。这个方法接受一个布尔值或闭包。当传递闭包时,闭包应该返回true或false,以指示是否需要验证字段:

use IlluminateValidationRule;
use IlluminateSupportStr;
public function rules()
{   
$rules = [ 
'title' => 'required', 
'url' => 'required',
'model_name' => Rule::requiredIf(Str::contains($this->url, '{')),
];  
return $rules;
} 

我希望这个解决方法对你有帮助

相关内容

  • 没有找到相关文章

最新更新