主頁 > 知識庫 > Laravel Validator 實現(xiàn)兩個或多個字段聯(lián)合索引唯一

Laravel Validator 實現(xiàn)兩個或多個字段聯(lián)合索引唯一

熱門標(biāo)簽:科大訊飛語音識別系統(tǒng) 團(tuán)購網(wǎng)站 電子圍欄 Linux服務(wù)器 阿里云 Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù) 服務(wù)器配置

Laravel的Validation還是蠻好用的,使用Validator可以非常方便的驗證表單,它提供了unique唯一性驗證,但是默認(rèn)只能驗證一個字段,那遇到兩個甚至多個字段的聯(lián)合索引,需要滿足復(fù)雜條件唯一性怎么實現(xiàn)呢

Validator復(fù)雜唯一性實現(xiàn)方法

我們可以用自定義 Rule 自定義驗證規(guī)則,比如像這樣:

[...]
$where = [
      'name' => $request->name,
      'phone' => $request->phone
    ];
$this->validate($request, [
    "phone" => [
        "required",
        Rule::unique('table_name')
            ->where(function ($query) use ($where) {
                return $query->where($where);
            })
    ],
]);
[...]

首先我們把原來的字符串形式,改成數(shù)組形式,在數(shù)組中用 Rule 去自定義新的規(guī)則,很顯然 unique() 方法是對 unique 來自定義的,然后參數(shù)是表的名字,后面再跟一個 where 函數(shù),用到了閉包,匿名函數(shù)查詢同時滿足兩個條件的結(jié)果是否存在,返回查詢結(jié)果。

如此,我們便完成了自定義復(fù)雜的唯一性驗證。

總結(jié)

以上所述是小編給大家介紹的Laravel Validator 實現(xiàn)兩個或多個字段聯(lián)合索引唯一,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • laravel Validator ajax返回錯誤信息的方法
  • Laravel Validator自定義錯誤返回提示消息并在前端展示
  • 如何優(yōu)雅的使用 laravel 的 validator驗證方法
  • Laravel4中的Validator驗證擴(kuò)展用法詳解
  • laravel 解決Validator使用中出現(xiàn)的問題

標(biāo)簽:大理 蚌埠 衢州 廣元 衡水 棗莊 萍鄉(xiāng) 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel Validator 實現(xiàn)兩個或多個字段聯(lián)合索引唯一》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266