伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>微擎表單驗(yàn)證

微擎表單驗(yàn)證

2022-06-29 | zip | 0.08 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache
開發(fā)語(yǔ)言 PHP
操作系統(tǒng) 跨平臺(tái)
軟件類型 開源軟件

軟件簡(jiǎn)介

微擎表單驗(yàn)證是一個(gè)讓你的表單驗(yàn)證更為方便,快捷,安全的擴(kuò)展,滿足你的一切驗(yàn)證需求。

中文 | English

目錄

安裝

使用composer命令

composer require w7/engine-validate

完整文檔查看完整文檔

簡(jiǎn)單驗(yàn)證

支持簡(jiǎn)單定義一個(gè)驗(yàn)證器并進(jìn)行驗(yàn)證:

try {
    $data = Validate::make([
        'user' => 'required|email',
        'pass' => 'required|lengthBetween:6,16',
    ], [
        'user.required'      => '請(qǐng)輸入用戶名',
        'user.email'         => '用戶名格式錯(cuò)誤',
        'pass.required'      => '請(qǐng)輸入密碼',
        'pass.lengthBetween' => '密碼長(zhǎng)度為6~16位',
    ])->check($data);
} catch (ValidateException $e) {
    echo $e->getMessage();
}

如果驗(yàn)證通過,則返回所有通過驗(yàn)證的值,如未通過,則拋出一個(gè)W7\\Validate\\Exception\\ValidateException異常

驗(yàn)證器定義

為具體的驗(yàn)證場(chǎng)景或者數(shù)據(jù)表單定義驗(yàn)證器類,我們需要繼承W7\\Validate\\Validate類,然后實(shí)例化后直接調(diào)用驗(yàn)證類的check方法即可完成驗(yàn)證,下面是一個(gè)例子:

我們定義一個(gè)LoginValidate驗(yàn)證器類用于登錄的驗(yàn)證。

class LoginValidate extends Validate
{
    protected $rule = [
        'user' => 'required|email',
        'pass' => 'required|digits_between:6,16',
    ];
    
    protected $message = [
        'user.required'       => '請(qǐng)輸入用戶名',
        'user.email'          => '用戶名格式錯(cuò)誤',
        'pass.required'       => '請(qǐng)輸入密碼',
        'pass.digits_between' => '密碼長(zhǎng)度為6~16位',
    ];
}

類屬性定義的錯(cuò)誤消息,優(yōu)先級(jí)要高于自定義規(guī)則中的默認(rèn)回復(fù),高于自定義規(guī)則方法返回的錯(cuò)誤

數(shù)據(jù)驗(yàn)證

$data = [
    'user' => '123@qq.com',
    'pass' => ''
];
$validate = new LoginValidate();
$validate->check($data);

此時(shí)會(huì)拋出一個(gè)W7\\Validate\\Exception\\ValidateException異常,message為請(qǐng)輸入密碼

$data = [
    'user' => '123@qq.com',
    'pass' => '123456'
];
$validate = new LoginValidate();
$data = $validate->check($data);

驗(yàn)證成功,并返回通過驗(yàn)證的值,返回的值為數(shù)組類型

驗(yàn)證數(shù)組

驗(yàn)證表單的輸入為數(shù)組的字段也不難。你可以使用 「點(diǎn)」方法來(lái)驗(yàn)證數(shù)組中的屬性。例如,如果傳入的 HTTP 請(qǐng)求中包含search[keyword]字段, 可以如下驗(yàn)證:

protected $rule = [
    'search.order'   => 'numeric|between:1,2',
    'search.keyword' => 'chsAlphaNum',
    'search.recycle' => 'boolean',
];

你也可以驗(yàn)證數(shù)組中的每個(gè)元素。例如,要驗(yàn)證指定數(shù)組輸入字段中的每一個(gè) id 是唯一的,可以這么做:

protected $rule = [
    'search.*.id' => 'numeric|unique:account'
];

數(shù)組規(guī)則的錯(cuò)誤消息的定義也一樣

protected $message = [
    'search.order.numeric'       => '排序參數(shù)錯(cuò)誤',
    'search.order.between'       => '排序參數(shù)錯(cuò)誤',
    'search.keyword.chsAlphaNum' => '關(guān)鍵詞只能包含中文,字母,數(shù)字',
    'search.recycle.boolean'     => '參數(shù)錯(cuò)誤:recycle',
];

驗(yàn)證器類屬性

$rule

用戶定義驗(yàn)證器的驗(yàn)證規(guī)則,也可以通過setRules方法來(lái)進(jìn)行設(shè)置,此方法為疊加,如果參數(shù)為null則為清空全部規(guī)則

// 類中定義
protected $rule = [
    'user' => 'required'
];

// 使用方法定義
$v->setRules([
    'user' => 'required'
]);

$message

用戶定義驗(yàn)證器的錯(cuò)誤信息,也可以通過setMessages方法來(lái)進(jìn)行設(shè)置,此方法為疊加,如果參數(shù)為null則為清空全部錯(cuò)誤消息

// 類中定義
protected $message = [
    'user.required' => '賬號(hào)必須填寫'
];

// 使用方法定義
$v->setMessages([
    'user.required' => '賬號(hào)必須填寫'
]);

$scene

定義驗(yàn)證場(chǎng)景的數(shù)據(jù),用于指定驗(yàn)證場(chǎng)景對(duì)應(yīng)的驗(yàn)證字段等,詳細(xì)用法查看驗(yàn)證場(chǎng)景一節(jié),同樣也可以通過setScene方法來(lái)進(jìn)行設(shè)置,此方法為疊加,如果參數(shù)為null則為清空全部驗(yàn)證場(chǎng)景

// 類中定義
protected $scene = [
    'login' => ['user', 'pass']
];

// 使用方法定義
$v->setScene([
    'login' => ['user', 'pass']
]);

$event

定義此驗(yàn)證器下的全局事件,詳細(xì)用法查看事件一節(jié)

protected $event = [
    CheckSiteStatus::class
];

$customAttributes

定義驗(yàn)證字段的名稱,也可以通過setCustomAttributes方法來(lái)進(jìn)行設(shè)置,此方法為疊加,如果參數(shù)為null則為清空全部字段名稱, 錯(cuò)誤消息中的:attribute會(huì)使用下面的值對(duì)應(yīng)的替換

protected $customAttributes = [
    'user' => '賬號(hào)',
    'pass' => '密碼'
];

$default

定義字段的默認(rèn)值

protected $default = [
    'name' => '張三'
];

關(guān)于默認(rèn)值的詳情請(qǐng)查看默認(rèn)值一節(jié)

$filter

用于數(shù)據(jù)驗(yàn)證后處理數(shù)據(jù)

protected $filter = [
    'name' => 'trim'
];

關(guān)于過濾器的詳情請(qǐng)查看過濾器一節(jié)

$ruleMessage

類方法規(guī)則的錯(cuò)誤信息

 protected $ruleMessage = [
    ':attribute的值只能具有中文'
];

點(diǎn)擊查看示例

$filled

所有驗(yàn)證的字段在存在時(shí)不能為空,如果此屬性值為true,所有規(guī)則會(huì)自動(dòng)增加filled規(guī)則,默認(rèn)為true

當(dāng)出現(xiàn)以下情況時(shí),不會(huì)自動(dòng)添加filled規(guī)則

  • 驗(yàn)證規(guī)則中存在filled, nullable, accepted, present,required, required_if, required_unless, required_with,required_with_all, required_without, required_without_all規(guī)則
  • 驗(yàn)證規(guī)則存在extendImplicit定義的規(guī)則
  • 驗(yàn)證規(guī)則存在extendImplicitRule定義的規(guī)則
  • 驗(yàn)證規(guī)則實(shí)現(xiàn)了Itwmw\\Validation\\Support\\Interfaces\\ImplicitRule標(biāo)記接口
protected bool $filled = true;

$regex

預(yù)定義正則表達(dá)式驗(yàn)證規(guī)則,詳情查看正則表達(dá)式規(guī)則

protected $regex = [
    'number' => '/^\\d+$/'
];
?

PHP 驗(yàn)證 數(shù)組
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 11節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊(cè)
  2. 3.07 MB   |  1次下載  |  1 積分
  3. 2PT8P2107 觸控 IO 型 8-Bit MCU規(guī)格書
  4. 3.73 MB   |  次下載  |  免費(fèi)
  5. 3PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  6. 4.05 MB   |  次下載  |  免費(fèi)
  7. 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
  8. 0.10 MB   |  次下載  |  免費(fèi)
  9. 5AU-48雙麥多功能語(yǔ)音處理模組規(guī)格書(5)
  10. 2.24 MB  |  次下載  |  免費(fèi)
  11. 6WX-0813_AI_ENC語(yǔ)音處理模組規(guī)格書
  12. 907.46 KB  |  次下載  |  免費(fèi)
  13. 7電子管膽機(jī)中文資料
  14. 0.03 MB   |  次下載  |  1 積分
  15. 8ESI Allegro XP 大尺寸MLCC測(cè)試分選機(jī)規(guī)格書
  16. 0.66 MB   |  次下載  |  免費(fèi)

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  20次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  14次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  3次下載  |  免費(fèi)
  7. 4簡(jiǎn)易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 5FP7135V060-G1/FP7125替代物料pin to pin
  10. 495.40 KB  |  1次下載  |  免費(fèi)
  11. 62EDL05x06xx系列 600V半橋門驅(qū)動(dòng)器帶集成自舉二極管(BSD)手冊(cè)
  12. 0.69 MB   |  1次下載  |  免費(fèi)
  13. 7TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺(tái)
  14. 1.51 MB  |  1次下載  |  免費(fèi)
  15. 81節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊(cè)
  16. 3.07 MB   |  1次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191457次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73831次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分