版權聲明:本文為博主原創文章,未經博主允許不得轉載。
laravel validator unique
'name' => 'required|unique:test,display_name,11,age,extra_field,extraValue'
解釋
對於客戶端輸入的 name 字段
-
name 不能為空
-
name 字段值在給定的數據庫表中需為唯一值
// unique 校驗規則
unique:table,column,except,idColumn
// 舉個栗子
unique:test,display_name,11,age,extra_field,extraValuetest => 數據庫表 display_name => test 數據表結構中的字段名稱 11,age => except,idColumn // 表示忽略 test 數據表中 age = 11 的數據記錄 extra_field,extraValue => 額外的where條件 { // 表示上述規則只會為數據庫test表中 extra_field = 'extraValue' 的數據記錄做唯一規則的驗證 }
ps
注意:校驗規則在 laravel 不同版本中有些許變化
舉兩個laravel版本栗子:
-
Laravel Framework version 5.1.20 (LTS)
在這個版本里是可以指定數據庫連接
// _id: 指定的 ID (指定主鍵) 名稱
‘email’ => ‘email|unique:mongodb.user,email,’.$uid.’,_id’,mongodb.user => [
mongodb => laravel數據庫配置文件 database.php 配置項 connections 數組里面的mongodb連接
user => mongodb連接的數據庫里面的集合或者數據表 user
] -
Laravel Framework version 4.2.17
但是,在這個版本里面就不能指定數據庫連接,使用laravel默認的數據庫連接,
所以,估計是 laravel 后面考慮到這個情況在后面的版本加了這個功能。