【整理分享】40 條實用的 Laravel 表單驗證規則

2022-10-04 10:00:18

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: 驗證字串中是否有定界值, 例如 [email protected], [email protected]’中的@符


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

【相關推薦:】

以上就是【整理分享】40 條實用的 Laravel 表單驗證規則的詳細內容,更多請關注TW511.COM其它相關文章!