模型中的驗(yàn)證方式如下:
$User = new User;
$result = $User->validate(
[
‘name’ => ‘require|max:25′,
’email’ => ’email’,
],
[
‘name.require’ => ‘名稱必須’,
‘name.max’ => ‘名稱最多不能超過25個(gè)字符’,
’email’ => ‘郵箱格式錯(cuò)誤’,
]
)->save($data);
if(false === $result){
// 驗(yàn)證失敗 輸出錯(cuò)誤信息
dump($User->getError());
}
第二個(gè)參數(shù)如果不傳的話,則采用默認(rèn)的錯(cuò)誤提示信息。
如果使用下面的驗(yàn)證器類的話:
namespace appindexvalidate;
use thinkValidate;
class User extends Validate
{
protected $rule = [
‘name’ => ‘require|max:25′,
’email’ => ’email’,
];
protected $message = [
‘name.require’ => ‘用戶名必須’,
’email’ => ‘郵箱格式錯(cuò)誤’,
];
protected $scene = [
‘a(chǎn)dd’ => [‘name’,’email’],
‘edit’ => [’email’],
];
}
模型驗(yàn)證代碼可以簡化為:
$User = new User;
// 調(diào)用當(dāng)前模型對應(yīng)的User驗(yàn)證器類進(jìn)行數(shù)據(jù)驗(yàn)證
$result = $User->validate(true)->save($data);
if(false === $result){
// 驗(yàn)證失敗 輸出錯(cuò)誤信息
dump($User->getError());
}
如果需要調(diào)用的驗(yàn)證器類和當(dāng)前的模型名稱不一致,則可以使用:
$User = new User;
// 調(diào)用Member驗(yàn)證器類進(jìn)行數(shù)據(jù)驗(yàn)證
$result = $User->validate(‘Member’)->save($data);
if(false === $result){
// 驗(yàn)證失敗 輸出錯(cuò)誤信息
dump($User->getError());
}
同樣也可以支持場景驗(yàn)證:
$User = new User;
// 調(diào)用Member驗(yàn)證器類進(jìn)行數(shù)據(jù)驗(yàn)證
$result = $User->validate(‘User.edit’)->save($data);
if(false === $result){
// 驗(yàn)證失敗 輸出錯(cuò)誤信息
dump($User->getError());
}
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 易優(yōu)eyoucms驗(yàn)證模型的方法教學(xué)