Laravel 9 保姆級視頻教程,想學不會都難!進入學習
Laravel 的驗證系統有 60多個驗證規則可用,但是如果你需要其他的功能怎么辦?你可以 輕松創建自己的驗證規則, 也可以使用互聯網上已有的驗證規則。讓我們來看看。
來自 Alphametric 的22條規則
首先,我們從 Alphametric 的高級開發人員 Matt Kingshott 的一系列文章開始,他在 Medium 寫了許多的帖子,并將所有規則添加到 Github存儲庫 中。以下是可用的規則列表:
-
StrongPassword: 檢查是否是 “強” 類型的密碼
-
TelephoneNumber: 檢查是否是有效的電話號碼
-
RecordOwner: 要求經過身份驗證的用戶 ID 與給定數據庫記錄中的user_id 列匹配,例如: 所有者:帖子,id
-
MonetaryFigure: 檢查貨幣數字,例如: $ 72.33
-
DisposableEmail: 檢查郵件地址是不是一次性的郵件地址
-
DoesNotExist: 檢查給定的值是否存在數據庫 表/列 中
-
Decimal: 檢查是否具是有正確格式的十進制
-
EncodedImage: 檢查值是否是給定 mime 類型的 base64 編碼圖像
-
LocationCoordinates: 檢查是不是以逗號分隔開的一組經緯度坐標
-
FileExists: 檢查值是不是一個已有的文件路徑
-
Equals: 檢查值是否等于另外一個值
-
MacAddress: 檢查值是不是一個有效的 MAC 地址
-
ISBN: 檢查值是不是有效的ISBN-10或ISBN-13數字
-
EndsWith: 檢查值是不是以給定的字符串結尾
-
EvenNumber: 檢查值是不是偶數(小數先使用 intval 進行類型強制轉換)
-
OddNumber: 檢查值是不是奇數(小數先使用 intval 進行類型強制轉換)
-
Lowercase: 檢查值是不是小寫的字符串
-
Uppercase: 檢查值是不是大寫的字符串
-
Titlecase: 檢查值是不是標題字符串
-
Domain: 檢查值是不是一個合法域名 google.com, www.google.com
-
CitizenIdentification:檢查值是不是合法的 美/法/英 國公民的身份證號
-
WithoutWhitespace: 檢查值是否包含空格字符
來自 Scott Robinson 的 8 條規則
Scott Robinson 制定了另一套好的規則,他還為此創建了一個專門的網站 laravel-validation-rules.github.io。它有以下規則:
-
Colour: 值是不是顏色,目前僅支持十六進制代碼。
-
Country Codes: 驗證 2&3 個字符的 國家/地區 代碼。
-
Credit Card: 驗證值是不是合法的信用卡號及有效期和是否有效。
-
IP: 驗證值 IP 地址是公共的還是私有的。支持 IPV4 和 IPV6。
-
Phone: 驗證值是否滿足電話號碼格式。
-
Subdomain: 驗證用戶提交的自域名值是否已經存在與當前程序中。
-
Timezone: 驗證時區值在系統時間日期數據庫中是否有效。
-
US State: 驗證值是不是美國的州/加拿大的省份。
Spatie 的 5 條規則
Spatie 在自己的 存儲庫 中提供了一些驗證規則:
-
Authorized: 驗證用戶是否有權對某一個模型的實例執行功能。
-
CountryCode: 驗證字段是不是一個有效的 ISO3166 國家/地區代碼。
-
Enum: 驗證值是不是屬于給定枚舉類的一部分, 例如 myclabs/php-enum.
-
ModelsExist: 驗證輸入數組中的所有值都作為給定模型類的屬性存在。
-
Delimited: 驗證字符串中是否有定界值, 例如 ‘sebastian@example.com, alex@example.com’中的@符
Pineco.de 的 5 條規則
最后是來自Gerg? D. Nagy 在 2017 年 年末發表在 pineco 的一篇文章。 相關驗證規則存儲在 GitHub存儲庫。但是自那時起就沒有再更新過,謹慎使用! 規則如下:
- password:檢查用戶的密碼。
- Odd:檢查值是不是奇數。
- even: 檢查值是不是偶數。
- incremented:檢查值是不是一個自增字段。
- specific words:檢查值是否包含特定單詞。
-
weekday:檢查日期是不是一個合法的工作日。
原文地址:https://laraveldaily.com/40-additional-laravel-validation-rules/
譯文地址:https://learnku.com/laravel/t/39365
【