# 驗證架構
* * * * *
驗證是指驗證層,每個模塊下都有個目錄叫validate,是用于定義數據驗證器的,OneBase推薦盡量將驗證放入validate目錄。
~~~
<?php
// +---------------------------------------------------------------------+
// | OneBase | [ WE CAN DO IT JUST THINK ] |
// +---------------------------------------------------------------------+
// | Licensed | http://www.apache.org/licenses/LICENSE-2.0 ) |
// +---------------------------------------------------------------------+
// | Author | Bigotry <3162875@qq.com> |
// +---------------------------------------------------------------------+
// | Repository | https://gitee.com/Bigotry/OneBase |
// +---------------------------------------------------------------------+
namespace app\admin\validate;
/**
* 菜單驗證器
*/
class Menu extends AdminBase
{
// 驗證規則
protected $rule = [
'name' => 'require',
'sort' => 'require|number',
'url' => 'require|unique:menu'
];
// 驗證提示
protected $message = [
'name.require' => '菜單不能為空',
'sort.require' => '排序值不能為空',
'url.require' => 'url不能為空',
'url.unique' => 'url已存在',
'sort.number' => '排序值必須為數字',
];
// 應用場景
protected $scene = [
'add' => ['name', 'sort', 'url'],
'edit' => ['name', 'sort', 'url'],
];
}
~~~
比如上面就是admin模塊下的菜單驗證器,具體使用方法需閱讀TP5手冊。
可以看到 這個類繼承了 AdminBase,在validate目錄下其實結構上跟控制器與邏輯層都差不多,都有屬于自己模塊的基礎類,AdminBase extends ValidateBase ,基礎驗證器類又繼承自公共模塊下的ValidateBase。
組織結構也是一樣某模塊需要復用的驗證放入某模塊的基類驗證器中,可能多個模塊復用的驗證則可放入公共模塊的驗證器中。
OneBase建議驗證器只在邏輯層使用,不要在控制器中直接使用驗證器。
- 序言
- 基礎
- 安裝環境
- 安裝演示
- 規范
- 目錄
- 介紹
- 后臺介紹
- 后臺首頁
- 會員管理
- 系統管理
- 系統設置與配置管理
- 菜單管理
- 系統回收站
- 服務管理
- 插件管理
- 文章管理
- 接口管理
- 優化維護
- SEO管理
- 數據庫
- 文件清理
- 行為日志
- 執行記錄
- 統計分析
- 接口介紹
- 接口文檔
- 錯誤碼設計
- Token介紹
- 前臺介紹
- 架構
- 架構總覽
- 生命周期
- 入口文件
- 模塊設計
- 依賴注入
- 控制器架構
- 邏輯架構
- 驗證架構
- 服務架構
- 模型架構
- 行為架構
- 插件架構
- 配置
- 配置介紹
- 配置加載
- 配置擴展
- 請求
- 請求信息
- 日志
- 后臺行為日志
- 系統執行日志
- 框架日志
- 數據
- 數據庫設計
- 數據字典
- 數據庫操作
- 事務控制
- 混合操作
- 實戰
- 控制器
- 邏輯與驗證
- 視圖與模型
- 插件研發
- 服務研發
- 接口研發
- 雜項
- 數據導入導出
- 二維碼條形碼
- 郵件發送
- 云存儲服務
- 支付服務
- 短信服務
- 微信分享
- 生成海報
- 聊天室
- PJAX
- Demo
- Widget
- 附錄
- 常量參考
- 配置參考
- 函數參考
- 進階
- Redis
- 自動緩存
- 全自動緩存
- 索引
- 數據簽名
- 全自動事務
- 隊列