国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel的unique和exists驗證規則的優化

Lin_R / 1381人閱讀

摘要:本文是實戰任務管理系統一的擴展閱讀歡迎作客我們的學習群原文鏈接交流群中通過這個來驗證非常的方便,并且在類中它被自動的引入了。和這兩個規則非常的強大和便利。但是從的版本開始這兩個驗證規則都可以通過一個新的類來簡化。

本文是Laravel實戰:任務管理系統(一)的擴展閱讀; 歡迎作客我們的php&Laravel學習群:109256050

原文鏈接:http://pilishen.com/posts/Imp...

laravel qq交流群:109256050

Laravel中通過ValidatesRequests這個trait來驗證requests非常的方便,并且在BaseController類中它被自動的引入了。
exitsts()和unique()這兩個規則非常的強大和便利。它們在使用的過程中需要對數據庫中已有的數據進行驗證,通常它們會像下面這樣來寫:

// exists example
"email" => "exists:staff,account_id,1"
// unique example
"email" => "unique:users,email_address,$user->id,id,account_id,1"

上面這種寫法的語法很難記,我們幾乎每次使用時,都不得不去查詢一下文檔。但是從 Laravel 的5.3.18版本開始這兩個驗證規則都可以通過一個新的Rule類來簡化。

我們現在可以使用下面這樣的熟悉的鏈式語法來達到相同的效果:

"email" => [
    "required",
    Rule::exists("staff")->where(function ($query) {
        $query->where("account_id", 1);
    }),
],
"email" => [
    "required",
    Rule::unique("users")->ignore($user->id)->where(function ($query) {
        $query->where("account_id", 1);
    })
],

這兩個驗證規則還都支持下面的鏈式方法:

where

whereNot

whereNull

whereNotNull

unique驗證規則除此之外還支持ignore方法,這樣在驗證的時候可以忽略特定的數據。

好消息是現在仍然完全支持舊的寫法,并且新的寫法實際上就是通過formatWheres方法在底層將它轉換成了舊的寫法:

protected function formatWheres()
{
    return collect($this->wheres)->map(function ($where) {
        return $where["column"].",".$where["value"];
    })->implode(",");
}

原文地址鏈接

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28187.html

相關文章

  • Laravel 多用戶認證系統改造方案

    摘要:本文基于,主要介紹如何針對多站點分別進行用戶認證的改造,用意是最大限度利用自帶的認證系統。具體方案為清晰起見,項目按照不同站點組織成不同模塊。學院版用戶認證文檔版用戶認證文檔更詳細學院版驗證文檔版驗證文檔更詳細翁航版多用戶認證方案 原文發表于 http://www.jianshu.com/p/d6c112f27661 showImg(https://segmentfault.com/i...

    paulli3 評論0 收藏0
  • Laravel表單驗證

    摘要:驗證的字段值必須與參數字段的值不同。第一次驗證失敗后停止運行驗證規則。只是停止這個字段的驗證,其它字段不影響。兩次輸入的密碼不一致新密碼與舊密碼不能一致檢查經過身份驗證的用戶確定其是否具有更新給定資源的權限。 修改密碼 showImg(https://segmentfault.com/img/bVbaFNP?w=234&h=229); Confirmed 如果要驗證的字段是 passw...

    wapeyang 評論0 收藏0
  • Laravel 十八個最佳實踐

    摘要:本文翻譯改編自的十八個最佳實踐這篇文章并不是什么由改編的原則模式等。只是為了讓你注意你在現實生活的項目中最常忽略的內容。單一職責原則正在幫助你避免重復。當然,這也包括了模板的范圍等。此外,也擁有很棒的內置工具,比如軟刪除事件范圍等。 showImg(https://segmentfault.com/img/remote/1460000015166532); 本文翻譯改編自 Larave...

    gitmilk 評論0 收藏0
  • Laravel 5.7 最佳實踐開發技巧分享

    摘要:當查詢數據時,本地范圍允許我們創建自己的查詢構造器鏈式方法。這樣便會知道這是一個本地范圍并且可以在查詢構造器中使用。某些查詢構造器不可用或者說可用但是方法名不同,關于這些請查閱所有集合的方法。 showImg(https://segmentfault.com/img/remote/1460000017877956?w=800&h=267); Laravel 因可編寫出干凈,可用可調試的...

    ninefive 評論0 收藏0
  • Laravel核心解讀--用戶認證系統實現細節

    摘要:通過裝載看守器和用戶提供器裝載看守器和用戶提供器用到的方法比較多,用文字描述不太清楚,我們通過注解這個過程中用到的方法來看具體的實現細節。 用戶認證系統的實現細節 上一節我們介紹來Laravel Auth系統的基礎知識,說了他的核心組件都有哪些構成,這一節我們會專注Laravel Auth系統的實現細節,主要關注Auth也就是AuthManager是如何裝載認證用的看守器(Guard)...

    NicolasHe 評論0 收藏0

發表評論

0條評論

Lin_R

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<