Laravel development: How to use Laravel Validation to verify request data?
Laravel is currently one of the most popular PHP frameworks. One of the reasons is that it provides many excellent components, one of which is Laravel Validation. In the process of web development, we often need to verify whether the data submitted from the front end meets the specifications, such as form submission, etc. At this time, we need to use the Laravel Validation component for data verification.
This article will introduce the basic usage and examples of Laravel Validation.
Introducing Validator in Controller:
use IlluminateSupportFacadesValidator;
Laravel Validation support A variety of different verification rules, including required, email, date, etc. We can choose according to our needs. The following table lists some commonly used rules:
Rule | Description |
---|---|
required | Required |
Email format | |
date | Date Format |
regex | Regular matching |
max | Maximum length |
min | Minimum length |
Using Laravel Validaton requires construction first A validator can be constructed in different ways, such as:
public function validate(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]); if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); } // 验证通过,执行代码 }
public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]; } public function register(Request $request) { $this->validate($request, $this->rules()); // 验证通过,执行代码 }
If the verification fails, you can get the error information through the withErrors method, such as:
if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); }
Then call $ in the view The corresponding error information can be obtained from the errors variable:
@if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span> @endif
In the second parameter of the validator construction, you can set custom error information To give more specific tips on validation errors, such as:
public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]; } public function messages() { return [ 'name.required' => '名称不能为空', 'email.required' => '邮箱不能为空', 'email.email' => '请输入正确的邮箱地址', 'email.unique' => '该邮箱已经被注册', 'password.required' => '密码不能为空', 'password.max' => '密码长度不能超过:max个字符', ]; } public function register(Request $request) { $validator = Validator::make($request->all(), $this->rules(), $this->messages()); if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); } // 验证通过,执行代码 }
This article uses the above code as an example to give a basic introduction to Laravel Validation. I hope this article can help everyone.
Reference material:
"Laravel Framework"
The above is the detailed content of Laravel Development: How to validate request data using Laravel Validation?. For more information, please follow other related articles on the PHP Chinese website!