laravel 当我们定义特定的 id 时不需要验证器
laravel validator should't required when we define specific id
在这个 laravel 验证器 class 中,我想为 required
选择指定 id
,当我们定义指定时 parent
不应该必需或 status
,我不知道如何进行此验证
例如:
'parent'=>'required/*when id is not 1*/|integer',
'status'=>'required/*when id is not 1*/|string',
class RequestCategory extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'category_name'=>'required|string|min:5:max:20',
'parent'=>'required|integer',
'status'=>'required|string',
];
}
}
您可以使用 Laravel 的 required_if 验证来实现此目的。语法是这样的:
'field_name' => 'required_if:columnName:value'
我想你可以试试这个:
public function rules()
{
return [
'category_name'=>'required|string|min:5:max:20',
'parent'=>'required_if:status,!=,1|integer',
'status'=>'required_if:parent,!=,1|string',
];
}
PS:未测试,如有错误,请告知。
在这个 laravel 验证器 class 中,我想为 required
选择指定 id
,当我们定义指定时 parent
不应该必需或 status
,我不知道如何进行此验证
例如:
'parent'=>'required/*when id is not 1*/|integer',
'status'=>'required/*when id is not 1*/|string',
class RequestCategory extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'category_name'=>'required|string|min:5:max:20',
'parent'=>'required|integer',
'status'=>'required|string',
];
}
}
您可以使用 Laravel 的 required_if 验证来实现此目的。语法是这样的:
'field_name' => 'required_if:columnName:value'
我想你可以试试这个:
public function rules()
{
return [
'category_name'=>'required|string|min:5:max:20',
'parent'=>'required_if:status,!=,1|integer',
'status'=>'required_if:parent,!=,1|string',
];
}
PS:未测试,如有错误,请告知。