首頁 > php框架 > Laravel > 主體

Laravel開發:如何使用Laravel Validation驗證請求資料?

王林
發布: 2023-06-14 08:35:51
原創
1212 人瀏覽過

Laravel開發:如何使用Laravel Validation驗證請求資料?

Laravel作為目前最受歡迎的PHP框架之一,原因之一就在於它提供了許多優秀的組件,其中之一是Laravel Validation。在Web開發過程中,我們常常需要驗證從前端提交的資料是否符合規範,如表單提交等,這時候就需要使用Laravel Validation元件來進行資料驗證。

本文將介紹Laravel Validation的基本用法及範例。

  1. 引入Validation
##在Controller中引入Validator:

use IlluminateSupportFacadesValidator;
登入後複製

    驗證規則
Laravel Validation支持多種不同的驗證規則,包括必填、信箱、日期等。我們可以根據需求進行選擇。下表列舉了一些常用的規則:

規則#說明 required必填email「郵件信箱格式date郵件信箱格式日格式正規符合最大長度
date
regex
max
  1. min
最小長度

#驗證器建構
  • 使用Laravel Validaton需要先建構驗證器,可以用不同的方式進行建構,如:
  1. 使用Validator門面的make方法:
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();
  }

  // 验证通过,执行代码
}
登入後複製

使用request驗證:

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

  // 验证通过,执行代码
}
登入後複製
  1. 驗證錯誤訊息

如果驗證失敗,可以透過withErrors方法來取得錯誤訊息,如:

if ($validator->fails()) {
  return redirect('register')
    ->withErrors($validator)
    ->withInput();
}
登入後複製

然後在檢視中呼叫$ errors變數即可取得對應錯誤訊息:

@if ($errors->has('name'))
  <span class="help-block">
    <strong>{{ $errors->first('name') }}</strong>
  </span>
@endif
登入後複製

自訂錯誤訊息

###在驗證器建構的第二個參數中,可以透過設定自訂錯誤訊息來對驗證錯誤進行更具體的提示,如:###
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();
  }

  // 验证通过,执行代码
}
登入後複製
###本文以上述程式碼為例進行了Laravel Validation的基本介紹,希望本文能幫助大家。 ######參考資料:######《Laravel框架》###

以上是Laravel開發:如何使用Laravel Validation驗證請求資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板