Home > PHP Framework > Laravel > body text

Laravel Development: How to validate request data using Laravel Validation?

王林
Release: 2023-06-14 08:35:51
Original
1212 people have browsed it

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.

  1. Introducing Validation

Introducing Validator in Controller:

use IlluminateSupportFacadesValidator;
Copy after login
  1. Validation rules

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:

RuleDescription
requiredRequired
emailEmail format
dateDate Format
regexRegular matching
maxMaximum length
minMinimum length
  1. Validator construction

Using Laravel Validaton requires construction first A validator can be constructed in different ways, such as:

  • Use the make method of the Validator facade:
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();
  }

  // 验证通过,执行代码
}
Copy after login
  • Use request verification:
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());

  // 验证通过,执行代码
}
Copy after login
  1. Verification error information

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();
}
Copy after login

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
Copy after login
  1. Custom error information

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();
  }

  // 验证通过,执行代码
}
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template