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

laravel 表單驗(yàn)證實(shí)現(xiàn)多個(gè)字段組合后唯一

 更新時(shí)間:2021年02月05日 14:23:56   作者:末路伯爵  
這篇文章主要介紹了laravel 表單驗(yàn)證實(shí)現(xiàn)多個(gè)字段組合后唯一,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Laravel 表單驗(yàn)證器的幾種使用方法

1、使用控制器的 validate 方法進(jìn)行參數(shù)驗(yàn)證

/**
 * 保存一篇新的博客文章。
 *
 * @param Request $request
 * @return Response
 */
public function store(Request $request)
{
  $this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
  ]);

  // 文章內(nèi)容是符合規(guī)則的,存入數(shù)據(jù)庫
}

2、手動(dòng)創(chuàng)建驗(yàn)證器實(shí)例進(jìn)行驗(yàn)證

使用默認(rèn)的驗(yàn)證信息

/**
 * 保存一篇新的博客文章。
 *
 * @param Request $request
 * @return Response
 */
public function store(Request $request)
{
  $rules = [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
  ];
  $validator = Validator::make($request->all(), $rules);
  if ($validator->fails()) {
    return redirect('post/create')->withErrors($validator)->withInput();
  }

  // 文章內(nèi)容是符合規(guī)則的,存入數(shù)據(jù)庫
}

使用自定義的驗(yàn)證信息

/**
 * 保存一篇新的博客文章。
 *
 * @param Request $request
 * @return Response
 */
public function store(Request $request)
{
  $rules = [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
  ];
  $messages = [
    'title.required' => '請(qǐng)?zhí)顚懳恼聵?biāo)題',
    'title.unique' => '文章標(biāo)題不能重復(fù)',
    'title.max' => '文章標(biāo)題不能超過255個(gè)字符',
    'body.required' => '請(qǐng)?zhí)顚懳恼聝?nèi)容',
  ];
  $validator = Validator::make($request->all(), $rules, $messages);
  if ($validator->fails()) {
    return redirect('post/create')->withErrors($validator)->withInput();
  }

  // 文章內(nèi)容是符合規(guī)則的,存入數(shù)據(jù)庫
}

3、創(chuàng)建表單請(qǐng)求進(jìn)行驗(yàn)證

創(chuàng)建表單請(qǐng)求文件:php artisan make:request ExampleRequest
表單請(qǐng)求文件內(nèi)容:

<?php

namespace App\Http\Requests;

use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Http\JsonResponse;

class ExampleRequest extends FormRequest
{
  /**
   * Determine if the user is authorized to make this request.
   *
   * @return bool
   */
  public function authorize()
  {
    return true;
  }

  /**
   * Get the validation rules that apply to the request.
   *
   * @return array
   */
  public function rules()
  {
    return [
      'title' => 'required|max:20',
      'name' => ['required', new Uppercase()],
    ];
  }

  /**
   * 獲取已定義的驗(yàn)證規(guī)則的錯(cuò)誤消息。
   *
   * @return array
   */
  public function messages()
  {
    return [
      'title.required' => 'A title is required',
      'title.max' => 'The title may not be greater than 20 characters.',
    ];
  }

  /**
   * 兼容 form 表單請(qǐng)求與 ajax 請(qǐng)求或者 json api 請(qǐng)求
   * 驗(yàn)證失敗,返回錯(cuò)誤信息
   *
   * @param Validator $validator
   * @throws
   */
  protected function failedValidation(Validator $validator)
  {
    if ($this->wantsJson() || $this->ajax()) {
      throw new HttpResponseException(
        new JsonResponse([
          'code' => 500,
          'msg' => $validator->errors()->first(),
          'data' => new \stdClass()
        ])
      );
    } else {
      parent::failedValidation($validator);
    }
  }
}

在控制器中使用 ExampleRequest

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Http\Requests\ExampleRequest;

class ExampleController extends Controller
{
  public function valid(ExampleRequest $request)
  {
    $params = $request->all();
    dd($params);
  }
}

在laravel 表單驗(yàn)證中,常會(huì)遇到需要幾個(gè)字段組合起來做唯一限制。

解決方案如下:

where[] = ['parentId','=',where[]=[′parentId ′,′ = ′,this->request->get('parentId')];
return [

    'menuTitle' => ['required', 'max:32','min:2',Rule::unique('admin_menu','menuTitle')->where(function($query)use($where){
      $query->where($where)->whereNull('deleted_at');
      })->ignore($id) ],
    'menuTitleEn' => ['required', 'max:32','min:2',Rule::unique('admin_menu','menuTitleEn')->where(function($query)use($where){
      $query->where($where)->whereNull('deleted_at');
      })->ignore($id) ],
    'menuRoute' => ['required',Rule::unique('admin_menu','menuRoute')->ignore($id)],
    'menuIcon' => ['required', 'min:2','max:32'],
    'routeName' => ['sometimes', 'min:2','max:32'],
    'parentId' => ['required','numeric'],
    'order'=>['sometimes','numeric']
    
  ];

到此這篇關(guān)于laravel 表單驗(yàn)證實(shí)現(xiàn)多個(gè)字段組合后唯一的文章就介紹到這了,更多相關(guān)laravel 表單驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ThinkPHP文件緩存類代碼分享

    ThinkPHP文件緩存類代碼分享

    本文給大家分享的是取自ThinkPHP中的關(guān)于文件緩存類的代碼,非常的實(shí)用,效率也非常不錯(cuò),這里推薦給大家,有需要的小伙伴參考下。
    2015-04-04
  • PHP中Session引起的腳本阻塞問題解決辦法

    PHP中Session引起的腳本阻塞問題解決辦法

    這個(gè)問題很多做php開發(fā)朋友應(yīng)該都有遇到過,一個(gè)啟用了session_start 頁面,由于執(zhí)行時(shí)間過長。導(dǎo)致通一個(gè)用戶訪問,另外一個(gè)很簡單的啟用session_start頁面一直阻塞著。 直到第一個(gè)頁面執(zhí)行完了。第二個(gè)頁面才可以讀取。這個(gè)就是,我們常說的session阻塞機(jī)制。
    2014-04-04
  • CI框架中類的自動(dòng)加載問題分析

    CI框架中類的自動(dòng)加載問題分析

    這篇文章主要介紹了CI框架中類的自動(dòng)加載問題,結(jié)合實(shí)例形式分析了CI框架中類的自動(dòng)加載功能與具體操作技巧,需要的朋友可以參考下
    2016-11-11
  • Laravel中如何增加自定義全局函數(shù)詳解

    Laravel中如何增加自定義全局函數(shù)詳解

    在我們的應(yīng)用里經(jīng)常會(huì)有一些全局都可能會(huì)用的函數(shù),我們應(yīng)該怎么自定義它比較好呢?字啊么這篇文章主要給大家介紹了在Laravel中如何增加自定義全局函數(shù)的相關(guān)資料,文中給出了兩種實(shí)現(xiàn)方法,需要的朋友可以參考,下面來一起看看吧。
    2017-05-05
  • php 數(shù)組處理函數(shù)extract詳解及實(shí)例代碼

    php 數(shù)組處理函數(shù)extract詳解及實(shí)例代碼

    php extract 函數(shù)使用數(shù)組鍵名作為變量名,使用數(shù)組鍵值作為變量值, 本函數(shù)可以處理表單提交并插入數(shù)據(jù)庫。文章向大家講解extract函數(shù)的基本使用方法及實(shí)例,需要的朋友可以參考下
    2016-11-11
  • php中使用GD庫做驗(yàn)證碼

    php中使用GD庫做驗(yàn)證碼

    本文給大家分享的是使用php的GD庫來實(shí)現(xiàn)驗(yàn)證碼功能的方法和全部代碼,有需要的小伙伴可以參考下
    2016-03-03
  • PHP XML備份Mysql數(shù)據(jù)庫

    PHP XML備份Mysql數(shù)據(jù)庫

    以下是在Linux下通過Apache+PHP對(duì)Mysql數(shù)據(jù)庫的備份的文件代碼
    2009-05-05
  • PHP+FFMPEG實(shí)現(xiàn)將視頻自動(dòng)轉(zhuǎn)碼成H264標(biāo)準(zhǔn)Mp4文件

    PHP+FFMPEG實(shí)現(xiàn)將視頻自動(dòng)轉(zhuǎn)碼成H264標(biāo)準(zhǔn)Mp4文件

    最近做一個(gè)在線教學(xué)網(wǎng)的項(xiàng)目,需要實(shí)現(xiàn)上傳任意格式視頻自動(dòng)為h264標(biāo)準(zhǔn)視頻,使用html5播放。最終使用PHP+FFMPEG實(shí)現(xiàn),在此將詳細(xì)解決方案分享給大家!
    2014-09-09
  • PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例

    PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例

    這篇文章主要介紹了PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Laravel的加密解密與哈希實(shí)例講解

    Laravel的加密解密與哈希實(shí)例講解

    這篇文章主要介紹了Laravel的加密解密與哈希實(shí)例講解,加密解密的知識(shí),對(duì)于代碼安全還是比較重要的,有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03

最新評(píng)論

革吉县| 通河县| 吴川市| 永福县| 怀柔区| 清远市| 沅江市| 志丹县| 安国市| 墨江| 会昌县| 镇江市| 调兵山市| 开化县| 婺源县| 海伦市| 平邑县| 葫芦岛市| 灵石县| 广宗县| 团风县| 宝清县| 四平市| 思茅市| 寿宁县| 尼勒克县| 昆明市| 洛阳市| 肇州县| 大同市| 黎平县| 新建县| 兴宁市| 靖宇县| 东平县| 纳雍县| 榆林市| 壶关县| 静安区| 漳州市| 浦县|