Yii2異常報錯提示:yii\validators

一、寫在前面:

? ? ? ? 在使用yii2.0的過程中亡呵,在編寫代碼時候難免出現(xiàn)錯誤硫戈,或者說是異常;

? ? ? ?有時候我們可以看出來,例如:table_name 不存在汁胆;這在我們編寫form的model時候非常常見,原因在于你的字段沒有聲明誉尖,比如表單中的重復(fù)密碼的字段铸题,驗證碼字段;都要在model的里面聲明屬性:public $repassword;public $verfiCode都要聲明丢间,不然會報表不存在的異常;

? ? ? 有時候第一次可能我們看不出來:這就是我所經(jīng)歷的烘挫,大部分出現(xiàn)在操作model的時候,或者是創(chuàng)建涡驮,或者是更新的時候喜滨,然后總結(jié)出的經(jīng)驗是在操作model的時候捉捅,90%的錯誤都出現(xiàn)在rule的字段編寫上虽风,或者是字段寫錯誤∥耷#或者是規(guī)則聲明錯誤厂抖;

? ? ?我們以yii\validators\...這個類展開茎毁;

二忱辅、怎么查看錯誤:

? ? 相對來說,yii框架的提示還是比較完整橡卤,準(zhǔn)確的,我們應(yīng)該去了解下基本的異常碧库;比如ForbiddenException;HttpException等等嵌灰;

? ? 1.首要的當(dāng)然是看標(biāo)題:比如:

Unknown Property?–?yii\base\UnknownPropertyException;

Setting unknown property: yii\validators\RangeValidator::value粘茄;

第一行就很明顯了秕脓,就是問題出現(xiàn)在字段上儒搭,不知道這個屬性吠架;當(dāng)然這個范圍很大了搂鲫;第二行中的yii\validators就表明:驗證出現(xiàn)問題,就是rules的問題魂仍,接下來你的重點(diǎn)就要放在rule字段的規(guī)則定義上了;

? ? 2.我們再看里面的詳細(xì)內(nèi)容俱诸,從下向上赊舶,果然我們發(fā)現(xiàn)了蛛絲馬跡睁搭,錯誤就出現(xiàn)在我定義用戶的狀態(tài)時候笼平,本來是status ?range是一個變化的范圍,而我卻寫成value了锌唾。

三夺英、yii\validator相關(guān):

? ? ? 1.場景:我新建修改管理員信息的form時候,需要去更新其中的管理員信息;如下:

if(!$this->validate()){

? ? ? ? ? ? return null;

? ? ? ? }

? ? ? ? $user = AdminUser::findOne(\Yii::$app->user->identity->id);

? ? ? ? $user->username = $this->username;

? ? ? ? $user->email? ? = $this->email;

? ? ? ? $user->password_hash = \Yii::$app->security->generatePasswordHash($this->password);

? ? ? ? $user->brief? ? = $this->brief;

? ? ? ? return $user->save() ? $user : null;

? 結(jié)果實(shí)驗了N次秋麸,validate竟然是通過的;當(dāng)時蒙逼的我靜靜的看著代碼但問題是更新就不成功;爆出了上面所寫的錯誤驯耻;明明是validators啊。可缚。我分析了半天,既然這個model里面沒問題帘靡,那么就是它的父級model的字段驗證出現(xiàn)了問題,導(dǎo)致數(shù)據(jù)更新失斏轩勘;user里面的rule只有一條:

public function rules()

? ? {

? ? ? ? return [

? ? ? ? ? ['status','default','value'=>self::STATUS_ACTIVE],

? ? ? ? ? ['status','in','value'=>[self::STATUS_LOCK,self::STATUS_ACTIVE]],

? ? ? ? ];

? ? }

沒錯,就是這樣绊寻,我才發(fā)現(xiàn)了in是在一個范圍;應(yīng)該是range澄步;粗心導(dǎo)致bug的出現(xiàn)冰蘑,

? ? ?2.yii\validators\..::....格式的錯誤村缸;

? ? 這樣的異常一般都是rule字段驗證錯誤所爆出的異常;


? ?類似的在vender\yiisoft\yii\validators\下面有著定義搪柑,去驗證字段符合規(guī)則:

? ?BoleanValidator.php ?是對 ?字段的驗證

['字段名',?'boolean',?'trueValue'?=>?true,?'falseValue'?=>?false,?'strict'?=>?true];

? ?CompareValidator.php 是對比較字段的驗證

['字段名','compare','另一字段',compareValue=>20

? ?EmailValidator.php 是對字段email格式的驗證

['字段名',?'email']

..........詳細(xì)了解的可自行查看源碼:

四索烹、總結(jié):

?程序拋出:yii\validator\.........,都是字段role定義上出現(xiàn)的問題百姓、別去別處找。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旬迹,一起剝皮案震驚了整個濱河市求类,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌尸疆,老刑警劉巖惶岭,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犯眠,死亡現(xiàn)場離奇詭異,居然都是意外死亡筐咧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門铺罢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來残炮,“玉大人,你說我怎么就攤上這事吉殃】” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵抱完,是天一觀的道長刃泡。 經(jīng)常有香客問我,道長烘贴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任老翘,我火速辦了婚禮锻离,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘汽纠。我一直安慰自己,他們只是感情好虱朵,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呢袱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪羞福。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天卖陵,我揣著相機(jī)與錄音张峰,去河邊找鬼。 笑死喘批,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饶深。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼台猴,長吁一口氣:“原來是場噩夢啊……” “哼俱两!你這毒婦竟也來了饱狂?” 一聲冷哼從身側(cè)響起宪彩,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤毯焕,失蹤者是張志新(化名)和其女友劉穎衍腥,沒想到半個月后纳猫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尚骄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年侵续,在試婚紗的時候發(fā)現(xiàn)自己被綠了憨闰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡需五,死狀恐怖鹉动,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宏邮,我是刑警寧澤泽示,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站蜜氨,受9級特大地震影響械筛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜飒炎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一埋哟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郎汪,春花似錦赤赊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耕驰。三九已至,卻和暖如春录豺,著一層夾襖步出監(jiān)牢的瞬間朦肘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工双饥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留媒抠,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓咏花,卻偏偏與公主長得像趴生,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子昏翰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359