【发布时间】:2015-12-13 20:59:28
【问题描述】:
在我的 Laravel (5.1) 项目中,我需要创建一个验证表单的请求。
但是对于这个请求,我想合并两个不同的请求:
第一个请求:
class AdvertisementRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
return [
'ads_type' => 'required|numeric|in:0,1',
'category' => 'required|numeric|exists:categories,id',
'title' => 'required|alpha_num|max:45',
'description' => 'required|alpha_num|max:2000',
'price' => 'required|numeric',
];
}
}
第二个请求:
class UserRegisterRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
$rules = [
'form_type' => 'required|numeric|in:0,1',
'user_type' => 'required|numeric|in:0,1',
'phone' => 'required|phone_number',
'region' => 'required|numeric|exists:regions,id',
'department' => 'required|numeric|exists:departments,code',
'postal_code' => 'required|postal_code',
'city' => 'alpha|max:45',
'id_city' => 'required|numeric|exists:cities,id',
'last_name' => 'required|alpha_sp|max:45',
'first_name' => 'required|alpha_sp|max:45',
'pseudo' => 'required|alpha|max:45|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|alpha_num|min:6|max:45',
];
return $rules;
}
}
我想创建第三个请求,像这样结合其他两个请求:
class UserAdvertisementRegisterRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
$rules = [
'ads_type' => 'required|numeric|in:0,1',
'category' => 'required|numeric|exists:categories,id',
'title' => 'required|alpha_num|max:45',
'description' => 'required|alpha_num|max:2000',
'price' => 'required|numeric',
'form_type' => 'required|numeric|in:0,1',
'user_type' => 'required|numeric|in:0,1',
'phone' => 'required|phone_number',
'region' => 'required|numeric|exists:regions,id',
'department' => 'required|numeric|exists:departments,code',
'postal_code' => 'required|postal_code',
'city' => 'alpha|max:45',
'id_city' => 'required|numeric|exists:cities,id',
'last_name' => 'required|alpha_sp|max:45',
'first_name' => 'required|alpha_sp|max:45',
'pseudo' => 'required|alpha|max:45|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|alpha_num|min:6|max:45',
];
return $rules;
}
}
在不重复我的代码的情况下有什么解决方案吗?
对不起,我的英语不好:/。
提前感谢您的回复!
【问题讨论】:
标签: php laravel laravel-5 http-post laravel-5.1