記錄一下 平時就不用再去找了
accepted
欄位值為 yes, on, 或是 1 時,驗證才會透過。這在確認”服務條款”是否同意時很有用。
active_url
欄位值透過 PHP 函式 checkdnsrr 來驗證是否為一個有效的網址。
after:date
驗證欄位是否是在指定日期之後。這個日期將會使用 PHP strtotime 函式驗證。
alpha
欄位僅全數為字母字串時透過驗證。
alpha_dash
欄位值僅允許字母、數字、破折號(-)以及底線(_)
alpha_num
欄位值僅允許字母、數字
array
欄位值僅允許為陣列
before:date
驗證欄位是否是在指定日期之前。這個日期將會使用 PHP strtotime 函式驗證。
between:min,max
欄位值需介於指定的 min 和 max 值之間。字串、數值或是檔案都是用同樣的方式來進行驗證。
confirmed
欄位值需與對應的欄位值 foo_confirmation 相同。例如,如果驗證的欄位是 password ,那對應的欄位 password_confirmation 就必須存在且與 password 欄位相符。
date
欄位值透過 PHP strtotime 函式驗證是否為一個合法的日期。
date_format:format
欄位值透過 PHP date_parse_from_format 函式驗證符合 format 制定格式的日期是否為合法日期。
different:field
欄位值需與指定的欄位 field 值不同。
digits:value
欄位值需為數字且長度需為 value。
digits_between:min,max
欄位值需為數字,且長度需介於 min 與 max 之間。
boolean
欄位必須可以轉換成布林值,可接受的值為 true, false, 1, 0, “1”, “0”。
欄位值需符合 email 格式。
exists:table,column
欄位值需與存在於資料庫 table 中的 column 欄位值其一相同。
Exists 規則的基本使用方法
'state' => 'exists:states'
指定一個自定義的欄位名稱
'state' => 'exists:states,abbreviation'
您可以指定更多條件且那些條件將會被新增至 “where” 查詢裡:
'email' => 'exists:staff,email,account_id,1'
/* 這個驗證規則為 email 需存在於 staff 這個資料庫表中 email 欄位中且 account_id=1 */
透過NULL搭配”where”的縮寫寫法去檢查資料庫的是否為NULL
'email' => 'exists:staff,email,deleted_at,NULL'
image
檔案必需為圖片(jpeg, png, bmp, gif 或 svg)
in:foo,bar,…
欄位值需符合事先給予的清單的其中一個值
integer
欄位值需為一個整數值
ip
欄位值需符合 IP 位址格式。
max:value
欄位值需小於等於 value。字串、數字和檔案則是判斷 size 大小。
mimes:foo,bar,…
檔案的 MIME 類需在給定清單中的列表中才能透過驗證。
MIME規則基本用法
'photo' => 'mimes:jpeg,bmp,png'
min:value
欄位值需大於等於 value。字串、數字和檔案則是判斷 size 大小。
not_in:foo,bar,…
欄位值不得為給定清單中其一。
numeric
欄位值需為數字。
regex:pattern
欄位值需符合給定的正規表示式。
注意: 當使用regex模式時,您必須使用陣列來取代”|”作為分隔,尤其是當正規表示式中含有”|”字串。
required
欄位值為必填。
required_if:field,value
欄位值在 field 欄位值為 value 時為必填。
required_with:foo,bar,…
欄位值 僅在 任一指定欄位有值情況下為必填。
required_with_all:foo,bar,…
欄位值 僅在 所有指定欄位皆有值情況下為必填。
required_without:foo,bar,…
欄位值 僅在 任一指定欄位沒有值情況下為必填。
required_without_all:foo,bar,…
欄位值 僅在 所有指定欄位皆沒有值情況下為必填。
same:field
欄位值需與指定欄位 field 等值。
size:value
欄位值的尺寸需符合給定 value 值。對於字串來說,value 為需符合的字串長度。對於數字來說,value 為需符合的整數值。對於檔案來說,value 為需符合的檔案大小(單位 kb)。
timezone
欄位值透過 PHP timezone_identifiers_list 函式來驗證是否為有效的時區。
unique:table,column,except,idColumn
欄位值在給定的資料庫中需為唯一值。如果 column(欄位) 選項沒有指定,將會使用欄位名稱。
Occasionally, you may need to set a custom connection for database queries made by the Validator. As seen above, setting unique:users as a validation rule will use the default database connection to query the database. To override this, do the following:
$verifier = App::make('validation.presence');
$verifier->setConnection('connectionName');
$validator = Validator::make($input, [
'name' => 'required',
'password' => 'required|min:8',
'email' => 'required|email|unique:users',
]);
$validator->setPresenceVerifier($verifier);
唯一(Unique)規則的基本用法
'email' => 'unique:users'
指定一個自定義的欄位名稱
'email' => 'unique:users,email_address'
強制唯一規則忽略指定的 ID
'email' => 'unique:users,email_address,10'
增加額外的 Where 條件
您也可以指定更多的條件式到 “where” 查詢語句中:
'email' => 'unique:users,email_address,NULL,id,account_id,1'
上述規則為只有 account_id 為 1 的資料列會做唯一規則的驗證。
url
欄位值需符合 URL 的格式。
注意: 此函式會使用 PHP filter_var 方法驗證。
本作品採用《CC 協議》,轉載必須註明作者和本文連結