类似于__construct函数的函数,但用于特定函数。
我的路线
Route::resource('form00', 'Form00Controller');
Route::resource('form001', 'Form001Controller');
........ and more
我在Form00Controller中的__contsruct
public function __construct()
{
$this->validate(request(), [
'projectName' =>
array(
'required',
'regex:/(^([a-zA-Z]+)(\d+)?$)/u'
)
];
}
我的另一个Form00Controller函数
public function create()// this function and another not effected
{
return view('form00.create');
}
public function store(Request $request)//__construct just for this function
{
$requestData = $request->all();
Form00::create($requestData);
return redirect('form00')->with('flash_message', 'Form00 added!');
}
我只需要为函数存储进行验证,而不必更改该函数。
答案 0 :(得分:0)
这是自定义表单请求的完美示例,您可以遵循此tutorial
基本上,您会得到
public function store(StoreFormFormRequest $request)//__construct just for this function
{
$requestData = $request->all();
Form00::create($requestData);
return redirect('form00')->with('flash_message', 'Form00 added!');
}
然后您将在StoreFormFormRequest
中拥有一个app/Http/Requests
类,就像
class StoreFormFormRequest extends FormRequest {
public function rules() {
return [
'projectName' => 'required|regex:/(^([a-zA-Z]+)(\d+)?$)/u'
]
}
}
验证将自动触发,如果通过验证,将执行控制器的代码。