[英]How to customize redirect url after request validation fails in laravel 5?
I am using use Illuminate\\Http\\Request
to access form request. 我正在
use Illuminate\\Http\\Request
访问表单请求。 For example if my form request is coming from http://localhost:8012/test_project/public
after validating it is automatically redirecting to http://localhost:8012/test_project/public
with error messages but i want it to redirect to http://localhost:8012/test_project/public#myform
because my form is visible in #myform
section. 例如,如果我的表单请求在验证后来自
http://localhost:8012/test_project/public
,它会自动重定向到带有错误消息的http://localhost:8012/test_project/public
,但我希望它重定向到http://localhost:8012/test_project/public#myform
因为我的表单在#myform
部分中可见。 So how can we do it. 那么我们该怎么做。 I am using Laravel 5.0
我正在使用Laravel 5.0
Following is my method code in controller that handles my request 以下是控制器中处理我的请求的方法代码
public function add_user(Request $request){
$this->validate($request, [
'name' => 'required|min:3',
'email' => 'required|email|unique:users,email',
'mobile' => 'required|regex:/^[789]\d{9}+$/|unique:users,mobile',
'pass' => 'required|min:6',
'cpass' => 'required|same:pass'
]);
$user = new Myuser;
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->mobile = $request->input('mobile');
$user->pass = md5("EEE".$request->input('pass'));
$user->register_on = date('Y-m-d');
$user->user_type = 'Free';
$user->last_login = date('Y-m-d H:i:s');
$user->status = 'Active';
$user->save();
$insertedId = $user->sno;
$uid = "UID".$insertedId;
Myuser::where('sno', $insertedId)
->update(['uid' => $uid]);
//echo $insertedId;
return redirect('')->with('message', 'Registered Successfully');
}
If you make your own Validator
instead of using $this->validate()
, you can have more control over what happens on a failed validation. 如果您使用自己的
Validator
而不是使用$this->validate()
,则可以更好地控制验证失败后的情况。 Here is an example from the laravel documentation. 这是laravel文档中的示例。 Make sure you add
use Validator;
确保添加
use Validator;
to the top of your php file. 到您的php文件的顶部。 https://laravel.com/docs/5.3/validation
https://laravel.com/docs/5.3/validation
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return redirect('post/create')
->withErrors($validator)
->withInput();
}
// Store the blog post...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.