復(fù)習(xí):
函數(shù)strstr():函數(shù)用于搜索字符串在另一字符串中第一次出現(xiàn)
參數(shù):strstr('被搜索的字符串','所搜索的字符串',true/flase(是否返回剩余部分,默認(rèn)為flase));
整個(gè)驗(yàn)證流程分為:
1:表單提交
2:表單驗(yàn)證
3:錯(cuò)誤提示
4:自定義驗(yàn)證規(guī)則
5:控制器驗(yàn)證
form表單post提交
controller控制器負(fù)責(zé)收集字段,自動(dòng)檢測(cè)字段,自動(dòng)校驗(yàn)正確性
vatidate 進(jìn)行驗(yàn)證器驗(yàn)證
save 負(fù)責(zé)存入數(shù)據(jù)庫(kù)save 負(fù)責(zé)存入數(shù)據(jù)庫(kù)
重點(diǎn):
input('變量類型.變量名稱/修飾符');
input('post.')//請(qǐng)求整個(gè)post過來(lái)的的值
allowfield(true)//過濾掉非數(shù)據(jù)表存在的字段
validate(true)//調(diào)用和當(dāng)前模型名稱相同的驗(yàn)證器類進(jìn)行驗(yàn)證
save(input('post.'))//存入post過來(lái)的值
驗(yàn)證規(guī)則:
namespace app/admin/vatidate;//驗(yàn)證器
use think/vatidate;
Class User extends Vatidate
{
//$rule為規(guī)則的固定命名格式
protected $rule = {
//第一種方式為使用系統(tǒng)固定的驗(yàn)證器規(guī)則
['nickname','require|min:5','昵稱必須寫入|昵稱不能少于5位字符'],
//第二種為調(diào)用自定寫的規(guī)則方法
['email','checkMail:www.tp-shop.con','郵箱格式錯(cuò)誤'],
}
protected function checkMail($value,$rule){
$result = strstr($value,$rule);
if($result){
return true;
} else {
return '郵箱必須包含'、$rule;
}
}
}
在控制器中User的調(diào)用
public function add(){
$user = new Users;
if($user->allowfield(true)->validate(true)->save(input('post.'))){
return '新增用戶成功';
} else {
return $user->getError();
}
}
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)