以下是現有可用的驗證規則清單與他們的函數名稱:
* * * * *
* Accepted
* Active URL
* After (Date)
* Alpha
* Alpha Dash
* Alpha Numeric
* Array
* Before (Date)
* Between
* Boolean
* Confirmed
* Date
* Date Format
* Different
* Digits
* Digits Between
* E-Mail
* Exists (Database)
* Image (File)
* In
* Integer
* IP Address
* Max
* MIME Types
* Min
* Not In
* Numeric
* Regular Expression
* Required
* Required If
* Required With
* Required With All
* Required Without
* Required Without All
* Same
* Size
* String
* Timezone
* Unique (Database)
* URL
## 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
字段值需符合 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 方法驗證。
- 前言
- 發行說明/L5新特性
- 升級向導
- 升級到 5.0.16
- 從 4.2 升級到 5.0
- 從 4.1 升級到 4.2
- 從 4.1.x 升級到 4.1.29
- 從 4.1.25 升級到 4.1.26
- 從 4.0 升級到 4.1
- 貢獻向導
- 環境配置
- 安裝
- 配置
- 基本功能
- 路由
- 基本路由
- CSRF 保護
- 方法欺騙
- 路由參數
- 命名路由
- 路由群組
- 路由模型綁定
- 拋出 404 錯誤
- 中間件
- 建立中間件
- 注冊中間件
- 可終止中間件
- 控制器
- 基礎控制器
- 控制器中間件
- 隱式控制器
- RESTful 資源控制器
- 請求
- 取得請求實例
- 取得輸入數據
- 舊輸入數據
- Cookies
- 上傳文件
- 其他的請求信息
- 響應
- 基本響應
- 重定向
- 其他響應
- 響應宏
- 系統架構
- 服務提供者
- 基本提供者例子
- 注冊提供者
- 緩載提供者
- 服務容器
- 基本用法
- 將接口綁定到實現
- 上下文綁定
- 標簽
- 實際應用
- 容器事件
- 參考:理解PHP 依賴注入|Laravel IoC容器
- Contracts
- 為什么用 Contracts
- Contract 參考
- 如何使用 Contracts
- Facades
- 實際用法
- 建立 Facades
- 模擬 Facades
- Facade 類參考
- 請求的生命周期
- 生命周期概要
- 聚焦于服務提供者
- 應用程序結構
- 根目錄
- App 目錄
- 為應用程序配置命名空間
- 系統服務
- 認證
- 用戶認證
- 取得經過認證的用戶
- 保護路由
- HTTP 基本認證
- 忘記密碼與重設
- 第三方登陸認證
- 交易
- 配置文件
- 訂購方案
- 一次性付款
- Single Charges
- 免信用卡試用
- 訂購轉換
- 訂購數量
- 取消訂購
- 恢復訂購
- 確認訂購狀態
- 處理失敗訂閱
- 處理其它 Stripe Webhooks
- 收據
- 緩存
- 配置
- 緩存用法
- 遞增與遞減
- 緩存標簽
- 緩存事件
- 數據庫緩存
- 集合
- Command Bus
- 建立命令
- 調用命令
- 命令隊列
- 命令管道
- 核心擴展
- 管理者和工廠
- 緩存
- Session
- 認證
- 基于服務容器的擴展
- Laravel Elixir
- 安裝與配置
- 使用方式
- Gulp
- Custom Tasks and Extensions
- 加密
- Envoy 任務執行器
- 安裝
- 執行任務
- 多服務器
- 并行執行
- 任務宏
- 通知
- 更新 Envoy
- 錯誤與日志
- 配置
- 錯誤處理
- HTTP 異常
- 日志
- 事件
- 基本用法
- 事件處理隊列
- 事件訂閱者
- 文件系統與云存儲
- 配置文件
- 基本用法
- 自定義文件系統
- 哈希
- 基本用法
- 輔助方法
- 數組
- 路徑
- 路由
- 字符串
- 網址(URL)
- 其他
- 本地化
- 語言文件
- 基本用法
- 復數
- 驗證
- 覆寫擴展包的語言文件
- 郵件
- 配置
- 基本用法
- 內嵌附件
- 郵件隊列
- 郵件與本地端開發
- 擴展包開發
- 視圖
- 語言
- 配置文件
- 公共資源
- 發布分類文件
- 路由
- 分頁
- 配置
- 使用
- 追加分頁鏈接
- 轉換至 JSON
- 隊列
- 設置
- 基本用法
- 隊列閉包
- 執行一個隊列監聽
- 常駐隊列處理器
- 推送隊列
- 已失敗的工作
- 會話
- 配置
- 使用 Session
- 暫存數據(Flash Data)
- 數據庫 Sessions
- Session 驅動
- 模板
- Blade 模板
- Blade 控制語法結構
- Blade 擴展
- 參考:@section與@yield 介紹
- 單元測試
- 定義并執行測試
- 測試環境
- 從測試調用路由
- 模擬 Facades
- 框架 Assertions
- 輔助方法
- 重置應用程序
- 表單驗證
- 基本用法
- 控制器驗證
- 表單請求驗證
- 使用錯誤信息
- 錯誤信息 & 視圖
- 可用驗證規則
- 條件驗證規則
- 自定義錯誤信息
- 自定義驗證規則
- 數據庫
- 使用基礎
- 配置
- 讀取/寫入連接
- 執行查找
- 數據庫事務處理
- 獲取連接
- 日志記錄
- 查詢構造器
- Selects
- Joins
- 高級 Wheres
- 聚合
- 原生表達式
- 添加
- 更新
- 刪除
- Unions
- 悲觀鎖定 (Pessimistic Locking)
- Eloquent ORM
- 基本用法
- 批量賦值
- 新增,更新,刪除
- 軟刪除
- 時間戳
- 范圍查詢
- Global Scopes
- 關聯
- 關聯查詢
- 預載入
- 新增關聯模型
- 更新上層時間戳
- 使用樞紐表
- 集合
- 獲取器和修改器
- 日期轉換器
- 屬性類型轉換
- 模型事件
- 模型觀察者
- 模型 URL 生成
- 轉換成數組 / JSON
- 結構生成器
- 建立與刪除數據表
- 加入字段
- 修改字段
- 修改字段名稱
- 移除字段
- 檢查是否存在
- 加入索引
- 外鍵
- 移除索引
- 移除時間戳記和軟刪除
- 保存引擎
- 遷移和數據填充
- 建立遷移文件
- 執行遷移
- 回滾遷移
- 數據填充
- Redis
- 配置
- 使用方式
- 管道
- 開發包
- Confide 用戶身份認證
- Entrust 權限管理
- Shoppingcart 購物車
- Genertators 代碼生成工具
- IDE Helper IDE助手
- Artisan 命令行工具
- 概覽
- 用法
- 在命令行接口以外的地方調用命令
- 定時調用 Artisan 命令
- 開發
- 建立自定義命令
- 注冊自定義命令