是否可以在单个请求 class 中使用多个规则?
Is that possible to have multiple rules function in single Request class?
我有如下请求class。
class CategoryRequest extends Request
{
public function response(array $errors){
return \Redirect::back()->withErrors($errors)->withInput();
}
public function authorize()
{
return false;
}
public function rules()
{
return [
'Category' => 'required|unique:tblcategory|max:25|min:5'
];
}
}
有规则功能。
在控制器中,有多个方法将请求作为参数。他们中的大多数在验证观点上有所不同。我的意思是,如果我是管理员,。我可以更新 4 个字段。如果我是经理,我可以更新 3,如果我是普通用户,我可以更新 2。所以验证会根据角色而改变。
是否可以在请求中使用多个规则功能 class?
你可以在这里使用任何你想要的条件,所以你可以这样做:
public function rules()
{
$rules = [];
if (Auth::user()->isAdmin()) {
$rules['Category'] = '...';
}
elseif (Auth::user()->isManager()) {
$rules['Category'] = '...';
}
return $rules;
}
当然,您需要在 User
模型中创建 isAdmin
和 isManager
我有如下请求class。
class CategoryRequest extends Request
{
public function response(array $errors){
return \Redirect::back()->withErrors($errors)->withInput();
}
public function authorize()
{
return false;
}
public function rules()
{
return [
'Category' => 'required|unique:tblcategory|max:25|min:5'
];
}
}
有规则功能。
在控制器中,有多个方法将请求作为参数。他们中的大多数在验证观点上有所不同。我的意思是,如果我是管理员,。我可以更新 4 个字段。如果我是经理,我可以更新 3,如果我是普通用户,我可以更新 2。所以验证会根据角色而改变。
是否可以在请求中使用多个规则功能 class?
你可以在这里使用任何你想要的条件,所以你可以这样做:
public function rules()
{
$rules = [];
if (Auth::user()->isAdmin()) {
$rules['Category'] = '...';
}
elseif (Auth::user()->isManager()) {
$rules['Category'] = '...';
}
return $rules;
}
当然,您需要在 User
模型中创建 isAdmin
和 isManager