laravel5.2,我在Requests目录下创建UserRequest.php,但在控制器中,显示错误public function add(UserRequest $request)
,但使用public function add(Request $request)
属于正常。
UserRequest
namespace App\Http\Requests;
use App\Http\Requests\Request;
class UserRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'user_sn' => 'required|unique',
'user_name' => 'required',
'email' => 'required|unique',
'password' => 'required',
];
}
}
UserController中
namespace App\Http\Controllers;
use App\Http\Requests\UserRequest;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller
{
public function add(UserRequest $request)
{
if ($request->get('dosubmit')) {
$validator = Validator::make($request->all(), $request
->rules(), $request->messages());
if ($validator->fails()) {
return redirect('user/add')->withErrors($validator)
->withInput();
}
}
$corporation_list = DB::table('corporation')->get();
$department_list = DB::table('department')->get();
return view('user.add', ['corporation_list' => $corporation_list, 'department_list' => $department_list]);
}
}
路线
Route::group(['middleware'],function(){
Route::any('user/add',['as'=>'user.add','uses'=>'[email protected]']);
});
您需要在文件上添加'use'声明'UserRequest'!例如:'use App \ Http \ Requests \ UserRequest;' –
你是用add()方法来显示表单还是处理表单提交或两者兼而有之? –
是的,两者都是问题吗? – zahdxj