Laravel 验证- 检查取决于输入值
Laravel Validation- check depend input value
在我的验证函数中,一些字段与其他字段的输入值相关。那么我该如何验证呢。
例如:这是我的验证函数
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
];
}
所以这里如果local_or_expat
值为expat
,那么还有一个字段country
是必填的。
我该怎么做?
您可以为此使用 required_if 规则。
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
'country' => 'required_if:local_or_expat,==,expat'
];
}
此规则意味着如果 local_or_expat 值是外籍人士,那么也需要国家/地区。
你也可以使用规则 class。
use Illuminate\Validation\Rule;
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
'country' => Rule::requiredIf($request->local_or_expat == 'expat'),
];
}
您可以这样使用 required_if
:
return [
'firstname' => 'required',
'local_or_expat' => 'required|in:local,expat',
'country' => 'required_if:local_or_expat,expat',
];
有关详细信息,请参阅 Laravel docs。
在我的验证函数中,一些字段与其他字段的输入值相关。那么我该如何验证呢。
例如:这是我的验证函数
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
];
}
所以这里如果local_or_expat
值为expat
,那么还有一个字段country
是必填的。
我该怎么做?
您可以为此使用 required_if 规则。
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
'country' => 'required_if:local_or_expat,==,expat'
];
}
此规则意味着如果 local_or_expat 值是外籍人士,那么也需要国家/地区。 你也可以使用规则 class。
use Illuminate\Validation\Rule;
public static function validate($data) {
return [
'firstname' => 'required',
'local_or_expat' => 'required',
'country' => Rule::requiredIf($request->local_or_expat == 'expat'),
];
}
您可以这样使用 required_if
:
return [
'firstname' => 'required',
'local_or_expat' => 'required|in:local,expat',
'country' => 'required_if:local_or_expat,expat',
];
有关详细信息,请参阅 Laravel docs。