abstract:數(shù)據(jù)驗(yàn)證技術(shù)為什么要驗(yàn)證?用戶提交的請(qǐng)求數(shù)據(jù),以及要寫到數(shù)據(jù)表的數(shù)據(jù),必須是符合要求的,安全的,所以,對(duì)于外部提交的數(shù)據(jù),必須進(jìn)行驗(yàn)證,這是Web開發(fā)的第一原則.永遠(yuǎn)不要相信用戶,這是我們開發(fā)者的底錢,指望用戶自律,無(wú)異于與虎謀皮 有二種方式:1.驗(yàn)證器類: 創(chuàng)建與模型對(duì)象的驗(yàn)證器類,類文件與位置都可以自定義,建議驗(yàn)證器名與模型同名2.獨(dú)立驗(yàn)證: 實(shí)例化框架的think\Validate
數(shù)據(jù)驗(yàn)證技術(shù)
為什么要驗(yàn)證?
用戶提交的請(qǐng)求數(shù)據(jù),以及要寫到數(shù)據(jù)表的數(shù)據(jù),必須是符合要求的,安全的,所以,對(duì)于外部提交的數(shù)據(jù),必須進(jìn)
行驗(yàn)證,這是Web開發(fā)的第一原則.永遠(yuǎn)不要相信用戶,這是我們開發(fā)者的底錢,指望用戶自律,無(wú)異于與虎謀皮
有二種方式:
1.驗(yàn)證器類: 創(chuàng)建與模型對(duì)象的驗(yàn)證器類,類文件與位置都可以自定義,建議驗(yàn)證器名與模型同名
2.獨(dú)立驗(yàn)證: 實(shí)例化框架的think\Validate.php
--------------------------------------------------------------------------------
一、驗(yàn)證器
1. 在application下創(chuàng)建validate目錄,并創(chuàng)建一個(gè)與staff表同名的類文件: Staff.php
2. application/validate/Staff.php: 就是我們要?jiǎng)?chuàng)建的驗(yàn)證器類
3
<?php
namespace app\validate;
use think\Validate;
class Staff extends Validate
{
//創(chuàng)建驗(yàn)證規(guī)則
//以屬性的方式進(jìn)行配置,屬性不能更改
protected $rule = [
'name'=>'require|min:5|max:15',
'sex' => 'in:0,1',
'age' => 'require|between:18,60',
'salary' => 'require|gt: 1500'
];
//錯(cuò)誤信息可以自定義:
protected $message = [
'name.require' => '員工姓名不能為空',
'name.min' => '姓名不能少于5個(gè)字符',
'name.max' => '姓名不能大于15個(gè)字符',
'sex.in' => '性別只能選擇男或女',
'age.require' => '年齡必須輸入',
'age.between' => '年齡必須在18到60周歲之間',
'salary.require' => '工資必須輸入',
'salary.gt' => '工資必須大于1500元'
];
}
Correcting teacher:天蓬老師Correction time:2018-12-21 12:56:32
Teacher's summary:門面技術(shù),不僅僅是 thinkphp, 也是其它框架,例如 ; laravel 中的調(diào)用基礎(chǔ) ,不過(guò)實(shí)現(xiàn)的方式有很多種, 反射技術(shù)目前是主流,但理解起來(lái)有難度, 本案例以最簡(jiǎn)單的方式實(shí)現(xiàn), 助于你以后的提升