最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

laravel框架使用FormRequest進(jìn)行表單驗(yàn)證,驗(yàn)證異常返回JSON操作示例

 更新時間:2020年02月18日 08:33:03   作者:懷素真  
這篇文章主要介紹了laravel框架使用FormRequest進(jìn)行表單驗(yàn)證,驗(yàn)證異常返回JSON操作,涉及l(fā)aravel表單請求類的創(chuàng)建、使用及異常處理相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了laravel框架使用FormRequest進(jìn)行表單驗(yàn)證,驗(yàn)證異常返回JSON操作.分享給大家供大家參考,具體如下:

通常在項(xiàng)目中,我們會對大量的前端提交過來的表單進(jìn)行驗(yàn)證,如果不通過,則返回錯誤信息。

前端為了更好的體驗(yàn),都使用ajax進(jìn)行表單提交,雖然 validate() 方法能夠根據(jù)前端的不同請求方式,返回不同的結(jié)果。

但是返回的json格式并不是我們想要的,這個時候,我們就需要自定義返回錯誤結(jié)果。

先創(chuàng)建一個表單請求類:

php artisan make:request TestRequest

然后在 rules()messages() 方法里填寫自已的驗(yàn)證規(guī)則和消息

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Http\Exceptions\HttpResponseException;
class TestRequest extends FormRequest
{
  /**
   * 控制訪問權(quán)限
   */
  public function authorize()
  {
    //注意,默認(rèn)是false,改成true
    return true;
  }
  /**
   * 驗(yàn)證規(guī)則
   */
  public function rules()
  {
    return [
      'name' => 'required',
      'pwd' => 'required',
    ];
  }
  /**
   * 驗(yàn)證消息
   */
  public function messages()
  {
    return [
      'name.required' => '姓名必填',
      'pwd.required' => '密碼必填',
    ];
  }
}

注意,父類 FormRequest中的 failedValidation() 方法用來處理驗(yàn)證失敗,我們重寫父類方法,來實(shí)現(xiàn)自已的返回。

public function failedValidation(Validator $validator)
{
  throw (new HttpResponseException(response()->json([
    'status_code' => 500,
    'message' => '請求錯誤',
    'data' => $validator->errors()->first(),
  ], 200)));
}

注意 failedValidation() 方法的 $validator 參數(shù)是 Illuminate\Contracts\Validation\Validator 對象,不是 Illuminate\Validation\Validator,不要搞錯了。

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php判斷頁面是否是微信打開的示例(微信打開網(wǎng)頁)

    php判斷頁面是否是微信打開的示例(微信打開網(wǎng)頁)

    今天遇到一問題,讓一個頁面在微信上打開,PC上不能直接打開,下面是我使用的方法,現(xiàn)在分享給大家
    2014-04-04
  • php解壓文件代碼實(shí)現(xiàn)php在線解壓

    php解壓文件代碼實(shí)現(xiàn)php在線解壓

    這篇文章主要介紹了php解壓文件代碼,根據(jù)這個代碼可以實(shí)現(xiàn)php在線解壓功能,需要的朋友可以參考下
    2014-02-02
  • PHP鏈接MySQL的常用擴(kuò)展函數(shù)

    PHP鏈接MySQL的常用擴(kuò)展函數(shù)

    這篇文章主要介紹了PHP鏈接MySQL的常用擴(kuò)展函數(shù),需要的朋友可以參考下
    2014-10-10
  • PHP生成唯一訂單號的方法匯總

    PHP生成唯一訂單號的方法匯總

    前陣子有個電子商務(wù)項(xiàng)目,需要生成訂單號。當(dāng)時的考慮很簡單,取系統(tǒng)時間加上隨機(jī)數(shù),或者使用 uniqid() 方法。仔細(xì)考慮下上述方法,在顧客購買量少的情況下,訂單重復(fù)的可能性為零,但是在購買高蜂期生成的訂單號重復(fù)是很有可能發(fā)生的。
    2015-04-04
  • ThinkPHP5框架緩存查詢操作分析

    ThinkPHP5框架緩存查詢操作分析

    這篇文章主要介紹了ThinkPHP5框架緩存查詢操作,結(jié)合實(shí)例形式分析了thinkPHP5緩存的設(shè)置、使用、查詢等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • PHP設(shè)計(jì)模式之觀察者模式實(shí)例

    PHP設(shè)計(jì)模式之觀察者模式實(shí)例

    一個對象通過添加一個方法(該方法允許另一個對象,即觀察者 注冊自己)使本身變得可觀察。當(dāng)可觀察的對象更改時,它會將消息發(fā)送到已注冊的觀察者。通過本文給大家介紹PHP設(shè)計(jì)模式之觀察者模式,需要的朋友參考下
    2016-02-02
  • php文件操作實(shí)例代碼

    php文件操作實(shí)例代碼

    php中的文件操作比asp要簡單很多,而且功能強(qiáng)大。學(xué)習(xí)php的朋友可以參考下
    2012-05-05
  • Codeigniter實(shí)現(xiàn)處理用戶登錄驗(yàn)證后的URL跳轉(zhuǎn)

    Codeigniter實(shí)現(xiàn)處理用戶登錄驗(yàn)證后的URL跳轉(zhuǎn)

    這篇文章主要介紹了Codeigniter實(shí)現(xiàn)處理用戶登錄驗(yàn)證后的URL跳轉(zhuǎn),需要的朋友可以參考下
    2014-06-06
  • Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)

    Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)

    這篇文章主要介紹了Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • 19個超實(shí)用的PHP代碼片段

    19個超實(shí)用的PHP代碼片段

    每位程序員和開發(fā)者都喜歡討論他們最愛的代碼片段,尤其是當(dāng)PHP開發(fā)者花費(fèi)數(shù)個小時為網(wǎng)頁編碼或創(chuàng)建應(yīng)用時,他們更知道這些代碼的重要性。為了節(jié)約編碼時間,小編收集了一些較為實(shí)用的代碼片段,幫助開發(fā)者提高工作效率
    2014-03-03

最新評論

长葛市| 汉寿县| 富锦市| 荆州市| 罗定市| 丰城市| 长汀县| 崇阳县| 壤塘县| 冷水江市| 河西区| 青田县| 广南县| 安丘市| 明星| 青岛市| 广平县| 江西省| 绥滨县| 铜陵市| 蓬莱市| 无棣县| 舞钢市| 和平区| 金昌市| 綦江县| 那曲县| 辽中县| 山东| 榆中县| 玉环县| 江门市| 濉溪县| 招远市| 巩义市| 德江县| 枣庄市| 砚山县| 喀喇沁旗| 六枝特区| 西畴县|