如果另一个字段包含"{"的性格。
我尝试了几种组合,但看起来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;
}
我希望这个解决方法对你有帮助