資料介紹
軟件簡介
微擎表單驗證是一個讓你的表單驗證更為方便,快捷,安全的擴展,滿足你的一切驗證需求。
中文 | English
目錄
安裝
使用composer命令
composer require w7/engine-validate
完整文檔查看完整文檔
簡單驗證
支持簡單定義一個驗證器并進行驗證:
try {
$data = Validate::make([
'user' => 'required|email',
'pass' => 'required|lengthBetween:6,16',
], [
'user.required' => '請輸入用戶名',
'user.email' => '用戶名格式錯誤',
'pass.required' => '請輸入密碼',
'pass.lengthBetween' => '密碼長度為6~16位',
])->check($data);
} catch (ValidateException $e) {
echo $e->getMessage();
}
如果驗證通過,則返回所有通過驗證的值,如未通過,則拋出一個W7\\Validate\\Exception\\ValidateException
異常
驗證器定義
為具體的驗證場景或者數據表單定義驗證器類,我們需要繼承W7\\Validate\\Validate
類,然后實例化后直接調用驗證類的check
方法即可完成驗證,下面是一個例子:
我們定義一個LoginValidate
驗證器類用于登錄的驗證。
class LoginValidate extends Validate
{
protected $rule = [
'user' => 'required|email',
'pass' => 'required|digits_between:6,16',
];
protected $message = [
'user.required' => '請輸入用戶名',
'user.email' => '用戶名格式錯誤',
'pass.required' => '請輸入密碼',
'pass.digits_between' => '密碼長度為6~16位',
];
}
類屬性定義的錯誤消息,優先級要高于自定義規則中的默認回復,高于自定義規則方法返回的錯誤
數據驗證
$data = [
'user' => '123@qq.com',
'pass' => ''
];
$validate = new LoginValidate();
$validate->check($data);
此時會拋出一個W7\\Validate\\Exception\\ValidateException
異常,message為請輸入密碼
$data = [
'user' => '123@qq.com',
'pass' => '123456'
];
$validate = new LoginValidate();
$data = $validate->check($data);
驗證成功,并返回通過驗證的值,返回的值為數組類型
驗證數組
驗證表單的輸入為數組的字段也不難。你可以使用 「點」方法來驗證數組中的屬性。例如,如果傳入的 HTTP 請求中包含search[keyword]
字段, 可以如下驗證:
protected $rule = [
'search.order' => 'numeric|between:1,2',
'search.keyword' => 'chsAlphaNum',
'search.recycle' => 'boolean',
];
你也可以驗證數組中的每個元素。例如,要驗證指定數組輸入字段中的每一個 id 是唯一的,可以這么做:
protected $rule = [
'search.*.id' => 'numeric|unique:account'
];
數組規則的錯誤消息的定義也一樣
protected $message = [
'search.order.numeric' => '排序參數錯誤',
'search.order.between' => '排序參數錯誤',
'search.keyword.chsAlphaNum' => '關鍵詞只能包含中文,字母,數字',
'search.recycle.boolean' => '參數錯誤:recycle',
];
驗證器類屬性
$rule
用戶定義驗證器的驗證規則,也可以通過setRules
方法來進行設置,此方法為疊加,如果參數為null
則為清空全部規則
// 類中定義
protected $rule = [
'user' => 'required'
];
// 使用方法定義
$v->setRules([
'user' => 'required'
]);
$message
用戶定義驗證器的錯誤信息,也可以通過setMessages
方法來進行設置,此方法為疊加,如果參數為null
則為清空全部錯誤消息
// 類中定義
protected $message = [
'user.required' => '賬號必須填寫'
];
// 使用方法定義
$v->setMessages([
'user.required' => '賬號必須填寫'
]);
$scene
定義驗證場景的數據,用于指定驗證場景對應的驗證字段等,詳細用法查看驗證場景一節,同樣也可以通過setScene
方法來進行設置,此方法為疊加,如果參數為null
則為清空全部驗證場景
// 類中定義
protected $scene = [
'login' => ['user', 'pass']
];
// 使用方法定義
$v->setScene([
'login' => ['user', 'pass']
]);
$event
定義此驗證器下的全局事件,詳細用法查看事件一節
protected $event = [
CheckSiteStatus::class
];
$customAttributes
定義驗證字段的名稱,也可以通過setCustomAttributes
方法來進行設置,此方法為疊加,如果參數為null
則為清空全部字段名稱, 錯誤消息中的:attribute會使用下面的值對應的替換
protected $customAttributes = [
'user' => '賬號',
'pass' => '密碼'
];
$default
定義字段的默認值
protected $default = [
'name' => '張三'
];
關于默認值的詳情請查看默認值一節
$filter
用于數據驗證后處理數據
protected $filter = [
'name' => 'trim'
];
關于過濾器的詳情請查看過濾器一節
$ruleMessage
類方法規則的錯誤信息
protected $ruleMessage = [
':attribute的值只能具有中文'
];
點擊查看示例
$filled
所有驗證的字段在存在時不能為空,如果此屬性值為true
,所有規則會自動增加filled
規則,默認為true
當出現以下情況時,不會自動添加filled
規則
-
驗證規則中存在
filled
,nullable
,accepted
,present
,required
,required_if
,required_unless
,required_with
,required_with_all
,required_without
,required_without_all
規則 - 驗證規則存在extendImplicit定義的規則
- 驗證規則存在extendImplicitRule定義的規則
-
驗證規則實現了
Itwmw\\Validation\\Support\\Interfaces\\ImplicitRule
標記接口
protected bool $filled = true;
$regex
預定義正則表達式驗證規則,詳情查看正則表達式規則
protected $regex = [
'number' => '/^\\d+$/'
];
- 上海長擎實業公司產品畫冊
- SystemVerilog的正式驗證和混合驗證 24次下載
- 16位CRC驗證碼生成VI工具下載 54次下載
- 一種混合的云數據完整性驗證方案 9次下載
- 如何使用PHP查詢MYSQL生成動態表單 8次下載
- Visual_Foxpro6.0如何進行表單設計? 10次下載
- 微信小程序如何開發?微信小程序教程視頻常用組件API開發項目實戰 88次下載
- 版圖驗證方法說明 0次下載
- Activiti工作流結合外置表單技術研究 16次下載
- 智能手表單節電池充電器原理圖 PCB源文件 0次下載
- 智能水表單片機系統參考 111次下載
- JAVA教程之簡單的表單程序 6次下載
- 基于SSH框架的動態表單設計與實現 42次下載
- Struts2 極速表單驗證框架使用說明書
- 超生倒車報擎電路
- fpga驗證和uvm驗證的區別 1073次閱讀
- 如何解決表單重復提交的問題 857次閱讀
- Java 中驗證碼的使用 783次閱讀
- fpga驗證及其在soc驗證中的作用有哪些 906次閱讀
- 基于形式的高效 RISC-V 處理器驗證方法 549次閱讀
- 驗證和確認的區別和關系 4881次閱讀
- 驗證組件配置參數 492次閱讀
- IC驗證的主要工作流程和驗證工具是什么? 1462次閱讀
- 形式驗證入門之基本概念和流程 1835次閱讀
- 如何利用D3引擎來創建APP和短信推送規則 1066次閱讀
- 簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼 6206次閱讀
- 基于System Verilog的可重用驗證平臺設計及驗證結果分析 2559次閱讀
- 驗證設計和創建可實現的設計 721次閱讀
- 基于VMM驗證方法學的MCU驗證環境 3189次閱讀
- 基于OVM驗證平臺的IP芯片驗證 2775次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多