Laravel Validator 實現(xiàn)兩個或多個字段聯(lián)合索引唯一
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)載,煩請注明出處,謝謝!
相關(guān)文章
laravel 5 實現(xiàn)模板主題功能(續(xù))
前面一篇文章,我們簡單討論了laravel模板主題功能,本文我們繼續(xù)探討laravel模板主題功能的實現(xiàn),本次實現(xiàn)比較重,有興趣慢慢看吧。2015-03-03
Laravel5.1 框架Middleware中間件基本用法實例分析
這篇文章主要介紹了Laravel5.1 框架Middleware中間件基本用法,結(jié)合實例形式分析了laravel5.1框架Middleware中間件功能、創(chuàng)建、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下2020-01-01
Thinkphp+smarty+uploadify實現(xiàn)無刷新上傳
這篇文章主要介紹了Thinkphp+smarty+uploadify實現(xiàn)無刷新上傳的方法,實例分析了php模板與js上傳插件結(jié)合實現(xiàn)無刷新上傳的相關(guān)技巧,需要的朋友可以參考下2015-07-07

