成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > laravel unique驗(yàn)證、確認(rèn)密碼confirmed驗(yàn)證以及密碼修改驗(yàn)證的方法

laravel unique驗(yàn)證、確認(rèn)密碼confirmed驗(yàn)證以及密碼修改驗(yàn)證的方法

熱門標(biāo)簽:熱線電話機(jī)器人 電銷招聘機(jī)器人 事業(yè)單位如何百度地圖標(biāo)注 福泉電話機(jī)器人 地圖標(biāo)注入哪個(gè)科目 太原極信防封電銷卡 天津營銷電話機(jī)器人加盟代理 格陵蘭島地圖標(biāo)注 南寧crm外呼系統(tǒng)平臺(tái)

confirmed

驗(yàn)證字段必須有一個(gè)匹配字段 foo_confirmation,例如,如果驗(yàn)證字段是 password,必須輸入一個(gè)與之匹配的 password_confirmation 字段。

same:field

給定字段和驗(yàn)證字段必須匹配

 protected $fillable = ['name', 'password'];
 
 public static $rules = [
  'name'   => 'required|unique:managers',
  'password' => 'required|confirmed',
  'password_confirmation' => 'required|same:password'
 ];
 
 public static function error_message() 
 {
  return [
   'name.required' => __('tyvalidation.name'),
   'name.unique' => __('tyvalidation.unique'),
   'password.required' => __('tyvalidation.password'),
   'password.confirmed' => __('tyvalidation.confirmed'),
  ];
 }
 
 public function setPasswordAttribute($value)
 {
  $this->attributes['password'] = Hash::make($value);
 }

經(jīng)驗(yàn)證,上面的驗(yàn)證方式在update的時(shí)候會(huì)出問題,修改的時(shí)候會(huì)驗(yàn)證unique,導(dǎo)致不能保存,所以需要修改下。

官網(wǎng)說:

Sometimes, you may wish to ignore a given ID during the unique check. For example, consider an "update profile" screen that includes the user's name, e-mail address, and location. Of course, you will want to verify that the e-mail address is unique. However, if the user only changes the name field and not the e-mail field, you do not want a validation error to be thrown because the user is already the owner of the e-mail address.

To instruct the validator to ignore the user's ID, we'll use the Rule class to fluently define the rule. In this example, we'll also specify the validation rules as an array instead of using the |character to delimit the rules:

重要的2句話是: 

有時(shí),您可能希望在唯一檢查期間忽略給定的ID。

當(dāng)然,您需要驗(yàn)證電子郵件地址是否唯一。但是,如果用戶僅更改名稱字段而不更改電子郵件字段,則不希望拋出驗(yàn)證錯(cuò)誤,因?yàn)橛脩粢呀?jīng)是電子郵件地址的所有者,為了指示驗(yàn)證者忽略用戶的ID,我們將使用Rule該類來流暢地定義規(guī)則。

use Illuminate\Validation\Rule;
 
Validator::make($data, [
  'email' => [
    'required',
    Rule::unique('users')->ignore($user->id),
  ],
]);

所以修改為

'name'   => [
     'required',
     Rule::unique('managers')->ignore($id),
    ],

在更新密碼時(shí),我們需要驗(yàn)證舊的密碼是否正確,那我們需要使用自定義驗(yàn)證。

Using Closures

If you only need the functionality of a custom rule once throughout your application, you may use a Closure instead of a rule object. The Closure receives the attribute's name, the attribute's value, and a $fail callback that should be called if validation fails:

Closure接收屬性的名稱,屬性的值以及$fail在驗(yàn)證失敗時(shí)應(yīng)調(diào)用的回調(diào)。

$validator = Validator::make($request->all(), [
  'title' => [
    'required',
    'max:255',
    function($attribute, $value, $fail) {
      if ($value === 'foo') {
        return $fail($attribute.' is invalid.');
      }
    },
  ],
]);

所以密碼是否正確可以這樣驗(yàn)證

'old_password' => [
     'required',
     function($attribute, $value, $fail) use ($manager) 
     {
      if (!Hash::check($value, $manager->password)) 
      {
       return $fail(__('tyvalidation.old_password'));
      }
     },
    ],

所有代碼如下:

create.html

div class="form-group">
      label>{!! __('tycms.name') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="text" class="form-control is-invalid" name="name" value="" placeholder="{!! __('tycms.name') !!}" required />
       @foreach ($errors->get('name') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>
     div class="form-group">
      label>{!! __('tycms.password') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="password" class="form-control is-invalid" name="password" value="" placeholder="{!! __('tycms.password') !!}" required />
       @foreach ($errors->get('password') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>
     div class="form-group">
      label>{!! __('tycms.confirm_password') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="password" class="form-control is-invalid" name="password_confirmation" value="" placeholder="{!! __('tycms.confirm_password') !!}" required />
       @foreach ($errors->get('password') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>

store

 $input_all = $request->all();
   $validator = Validator::make($input_all, Manager::rules(), Manager::error_message());
   if ($validator->fails()) 
   {
     return redirect()
           ->action($this->class_basename . '@create')
           ->withErrors($validator)
           ->withInput();
   }
   $model = Manager::create($input_all);

edit.html

div class="form-group">
      label>{!! __('tycms.name') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="text" class="form-control is-invalid" name="name" value="{{ $model->name }}" readonly="readonly" placeholder="{!! __('tycms.name') !!}" required />
       @foreach ($errors->get('name') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>
     div class="form-group">
      label>{!! __('tycms.old_password') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="password" class="form-control is-invalid" name="old_password" value="" placeholder="{!! __('tycms.old_password') !!}" required />
       @foreach ($errors->get('old_password') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>
     div class="form-group">
      label>{!! __('tycms.password') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="password" class="form-control is-invalid" name="password" value="" placeholder="{!! __('tycms.password') !!}" required />
       @foreach ($errors->get('password') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>
     div class="form-group">
      label>{!! __('tycms.confirm_password') !!}/label>
      div class="input-group">
       div class="input-group-prepend">
        span class="input-group-text change-bg">T/span>
       /div>
       input type="password" class="form-control is-invalid" name="password_confirmation" value="" placeholder="{!! __('tycms.confirm_password') !!}" required />
       @foreach ($errors->get('password') as $message) 
       div class="invalid-feedback">
        {{ $message }}
       /div>
       @endforeach
      /div>
     /div>

update

$input_all = $request->all();
   $model = $this->findById($id);
 
   $validator = Validator::make($input_all, Manager::rules($id, $model), Manager::error_message());
   if ($validator->fails()) 
   {
     return redirect()
           ->action($this->class_basename . '@edit', ['id' => $id])
           ->withErrors($validator)
           ->withInput();
   }
   $model->fill($input_all);
   $model->save();
 

Models\Manager

protected $table = 'managers';
 
 protected $fillable = ['name', 'password'];
 
 /*public static $rules = [
  'name'   => 'required|unique:managers',
  'password' => 'required|confirmed',
  'password_confirmation' => 'required|same:password'
 ];*/
 
 public static function rules ($id = null, $manager = null) 
 {
  if (empty($id))
  {
   $rules = [
    'name'   => 'required|unique:managers',
    'password' => 'required|confirmed',
    'password_confirmation' => 'required|same:password'
   ];
  } else 
  {
   $rules = [
    'name'   => [
     'required',
     Rule::unique('managers')->ignore($id),
    ],
    'old_password' => [
     'required',
     function($attribute, $value, $fail) use ($manager) 
     {
      if (!Hash::check($value, $manager->password)) 
      {
       return $fail(__('tyvalidation.old_password'));
      }
     },
    ],
    'password' => 'required|confirmed',
    'password_confirmation' => 'required|same:password'
   ];
  }
  return $rules;
 }
 
 public static function error_message() 
 {
  return [
   'name.required' => __('tyvalidation.name'),
   'name.unique' => __('tyvalidation.unique'),
   'password.required' => __('tyvalidation.password'),
   'password.confirmed' => __('tyvalidation.confirmed'),
  ];
 }
 
 public function setPasswordAttribute($value)
 {
  $this->attributes['password'] = Hash::make($value);
 }

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel中unique和exists驗(yàn)證規(guī)則的優(yōu)化詳解

標(biāo)簽:自貢 金華 香港 郴州 佳木斯 通化 寶雞 阿克蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel unique驗(yàn)證、確認(rèn)密碼confirmed驗(yàn)證以及密碼修改驗(yàn)證的方法》,本文關(guān)鍵詞  laravel,unique,驗(yàn)證,確認(rèn),密碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《laravel unique驗(yàn)證、確認(rèn)密碼confirmed驗(yàn)證以及密碼修改驗(yàn)證的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于laravel unique驗(yàn)證、確認(rèn)密碼confirmed驗(yàn)證以及密碼修改驗(yàn)證的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩视频在线观看一区| 完美搭档在线观看| 97高清免费视频| 污污网址在线观看| 蜜桃视频一区二区三区| 国产视频在线看| 成人小电影网站| 在线观看中文字幕码| 亚洲乱码一区二区| 国产精品对白交换视频| 九九热最新视频| 91激情视频| 蜜桃在线一区二区三区| 欧洲grand老妇人| 免费在线观看日韩av| 六月激情综合网| 亚洲成人精品电影在线观看| 91精品国产丝袜白色高跟鞋| 成人免费观看视频大全| 国产精品免费福利| 久久色在线播放| 国产传媒欧美日韩成人精品大片| 在线中文字日产幕| 国产麻豆视频精品| 久久偷拍免费视频| 欧美高清videos性极品| 好吊色视频在线观看| 国产电影一区在线| 久久99国产精一区二区三区| 欧美日韩三级一区二区| 久久资源中文字幕| 丰满岳乱妇一区二区| 国产永久免费高清在线观看| 红桃av永久久久| 欧美色图校园春色| 欧美少妇性生活视频| 国产精品自在欧美一区| 图片一区二区| 国产精品99精品一区二区三区∴| 最新中文字幕2018| 黄网页在线观看| 国产麻豆精品高清在线播放| 欧美美女啪啪| 夜夜骚av一区二区三区| 国产精品chinese| 99精品欧美一区二区蜜桃免费| 俄罗斯黄色录像| 亚洲女厕所小便bbb| 99精品国产高清一区二区| 欧美理论片在线播放| 日韩欧美国产成人一区二区| 欧美精品在线一区| 精品自拍一区| 一二三四视频社区在线| 午夜一级在线看亚洲| 稀缺呦国内精品呦| 久久久久久com| 日产精品久久久久久久蜜臀| 日韩性xxxx爱| 加勒比在线一区二区三区观看| 91精品国产综合久久精品图片| 99精品欧美| 青春草国产成人精品久久| 日韩精品丝袜美腿| 免费看毛片的网站| 国产精品欧美久久| 欧美有码在线视频| 日韩欧美国产免费播放| 亚洲精品久久久久久久蜜桃臀| 亚洲精品久久久成人| 欧美性猛片xxxxx免费中国| 秋霞视频一区二区| 快色在线观看| 少妇精品导航| 午夜精品久久久久久久男人的天堂| 国内精品久久久久久久久久久| 99三级在线| 欧美13一16娇小xxxx| avtt天堂在线| 免费不卡的av| 91精品国产综合久久精品app| 自拍偷在线精品自拍偷无码专区| 国产十六处破外女视频| 免费高清视频精品| 久久99国产精品久久久久久久久| 日韩欧美成人激情| 1769视频在线播放免费观看| 成人免费在线视频网站| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产卡一卡二卡三| 激情视频在线播放| 国内老熟妇对白xxxxhd| 成视频在线观看免费观看| 99久久婷婷国产综合精品| 久久99国产精品99久久| thepron国产精品| 日日摸日日搞日日| 久久久免费观看视频| 少妇精品无码一区二区免费视频| 无码人妻精品一区二区三区在线| 成人免费视频在线观看超级碰| 精品视频无码一区二区三区| 国产精品一区专区| 日韩精品一区二区不卡| 国产亚洲一二三区| 精品av在线播放| 亚洲黄页网站| 中文字幕av不卡在线| 懂色av中文在线| 成人在线综合网站| 日韩av网站导航| 成人欧美一区二区三区小说| 狠狠色狠狠色综合日日小说| 国产精品久久久久久影视| 亚洲欧美成人一区二区在线电影| 国产成人一区| 亚洲麻豆国产自偷在线| 男人天堂视频在线| 日韩视频―中文字幕| 后入内射欧美99二区视频| 欧美成人一区二区在线观看| 国产最新视频在线| 欧美男男video| 中文字幕亚洲影视| 日韩成人在线视频| 精品国产乱码久久久久久1区2区| 国产91久久久久蜜臀青青天草二| 制服丝袜影音| 极品国产人妖chinesets亚洲人妖| 黄网址在线永久免费观看| 精品国产电影一区| 国内视频一区二区| 五月婷婷六月综合| 中文字幕日韩有码| 亚洲成aⅴ人片久久青草影院| 国色天香一二三期区别大象| 一区二区三区四区国产| 国产在线日本| 北条麻妃av高潮尖叫在线观看| 国产羞羞视频在线观看| 一区二区三区国| 国产一区二区精品免费| 亚洲国产成人精品激情在线| 一区二区三区久久精品| 日本综合久久| 青青草免费观看视频| 综合综合综合综合综合网| 久久久精品国产一区二区| 奇米成人av国产一区二区三区| 天堂www中文在线资源| 99在线观看视频| 亚洲一本二本| 日本在线精品视频| 男女小视频在线观看| 色综合天天狠天天透天天伊人| 日韩午夜激情| 欧美在线观看18| 亚洲精品国产日韩| 狠狠人妻久久久久久综合蜜桃| 久久精品国产亚洲AV成人婷婷| 免费在线观看亚洲视频| 97在线精品国自产拍中文| 日本国产在线播放| 欧美激情精品久久久六区热门| 亚洲国产成人精品视频| 国产午夜精品视频免费不卡69堂| 欧美日韩国产限制| 男女男精品视频网| 中文字幕日韩一区| 成人午夜在线观看视频| 亚洲欧洲中文日韩久久av乱码| 55夜色66夜色国产精品视频| 国产精品美女久久久久av福利| 日本一级二级视频| 两女双腿交缠激烈磨豆腐| 亚洲精品在线一区二区| 99精品国产在热久久婷婷| 成人做爰69片免费| 中文一区一区三区高中清不卡| 粉嫩av一区二区三区免费野| 欧美二区三区在线| 国产精品外国| 日韩精品一区第一页| 国内精品视频在线播放| 成人激情视频小说免费下载| 国产狂喷白浆在线观看视频| 91精品一区二区三区综合在线爱| www.欧美日本| 日韩经典在线视频| 午夜久久中文| 精品一区二区在线播放| ww久久综合久中文字幕| www日本在线观看| 高清日韩中文字幕| 久久99国产精品免费网站| h精品动漫在线观看| eeuss影院eeuss最新直达| 中国女人精69xxxxxx视频| 欧美一区二区成人6969| 午夜一区二区三区不卡视频| 午夜激情久久| 91极品身材尤物theporn| 女~淫辱の触手3d动漫| 亚洲国产婷婷香蕉久久久久久99| 茄子视频成人在线观看| 影音先锋日韩av| 美女又黄又免费的视频| 91丨porny丨九色| 久久久人成影片一区二区三区在哪下载| 日韩一区二区免费在线观看| 国产精品人成在线观看免费| 久久精品国产精品青草色艺| 在线观看亚洲大片短视频| 亚洲欧美日韩在线播放| 国产最新精品免费| 中文字幕欧美区| 91porny九色| 91啪国产在线| 国产精品福利在线观看网址| 欧美性受xxxx黑人猛交| 国产精品成久久久久三级| 国产视频精品在线| 99re在线精品| 欧美午夜精品一区二区三区| 国产日韩1区| 五月天综合在线| 国精品人伦一区二区三区蜜桃| 95视频在线观看| 日韩在线视频第一页| 777色狠狠一区二区三区| 黑人巨大精品欧美一区二区小视频| 色综合av在线| 亚洲综合在线做性| 国产成人av免费在线观看| 精品国产一区二区三区无码| 国产在线无码精品| 欧美日韩看看2015永久免费| 亚洲国产精品久久人人爱潘金莲| av一级黄色片| 男女猛烈无遮挡午夜视频| 麻豆传媒在线视频| 888久久久| 欧美日韩中文一区| 亚洲字幕在线观看| 日韩理伦片在线| 中文字幕永久视频| youjizz.com在线观看| 中日韩美女免费视频网址在线观看| 国产日产欧美a一级在线| 久久精品一二区| 一区二区三区中文字幕精品精品| 日本亚洲一区二区| 欧美成人在线免费观看| 无码一区二区三区在线观看| 97超碰国产精品女人人人爽| 国产伦子伦对白在线播放观看| 挪威xxxx性hd极品| 国产成人精品久久二区二区| 97超级碰在线看视频免费在线看| 中文字幕亚洲一区二区av在线| 少妇精品久久久一区二区| 成人看片在线观看| 日韩美女啊v在线免费观看| 一区二区激情| 在线观看91视频| 国产极品美女高潮无套嗷嗷叫酒店| 宅男66日本亚洲欧美视频| 国产精品日韩精品欧美在线| 美国毛片一区二区| 久久国产乱子精品免费女| 日韩 欧美一区二区三区| 欧美成人福利视频| 日韩精品一区二区三区中文| 激情亚洲小说| 国产色91在线| 99re在线视频上| 国产精品自拍区| 亚洲一区二区精品视频| 欧美美女黄视频| 亚洲国产精品自拍视频| 最好看的日本字幕mv视频大全| 豆国产97在线| √天堂中文官网8在线| 春暖花开成人亚洲区| 男人的天堂色| 亚州精品国产精品乱码不99按摩| 国产性生活视频| 天天夜碰日日摸日日澡| 免费无码毛片一区二区app| 国产福利电影一区二区三区| 国产97免费视| 高清不卡日本v二区在线| 国产情侣自拍小视频| 国产综合视频一区二区三区免费| 久久久伊人欧美| 国产香蕉精品视频| 亚洲男人的天堂一区二区| 久久久久久久久久久久久久久国产| 欧美伦理91| 欧美色蜜桃97| 免费黄色在线网站| 久久亚洲综合网| 精品国产av色一区二区深夜久久| a级日韩大片| 在线视频一区二区三区四区| 性欧美高清come| www.狠狠色.com| 一区二区三区欧美久久| 熟女少妇一区二区三区| 日韩高清一级片| 国产欧美日韩在线播放| 欧美精品xxxxbbbb| 夜先锋av资源| 五月婷婷之婷婷| 99国产精品久久久久| 国产精品伦理一区二区三区| 国产成人精品在线| 国产视频播放| 久久不卡免费视频| 日韩不卡免费高清视频| 国产视频精品xxxx| 日本中文字幕高清视频| 亚洲毛片在线看| 欧美日韩国产丝袜另类| 国产亚洲精品高潮| 免费毛片网站在线观看| 国产亚洲黄色片| 亚洲美女在线免费观看|