我已經創建了一些實體(比如姓名,地址等)的表單。我已經在模型類中定義了驗證規則。客戶端驗證按要求完美工作。現在我需要創建自定義驗證規則。爲此,在參考http://www.yiiframework.com/wiki/168/create-your-own-validation-rule/#hh0時,我在我的模型中創建了一個名爲valid_number()的方法,並定義了一個簡單的空檢查(我知道內置了用於驗證null,email,密碼等的規則。這裏我已經演示了一個簡單的驗證方法,實際上我打算做一些自定義驗證)。請參閱下面的代碼。請讓我知道我做錯了什麼。如何在yii中爲驗證規則創建自定義函數?
//模型
class Employee extends CActiveRecord{
public $number;
public function rules(){
return array(
array('number','valid_number'),
);
}
public function valid_number($attribute,$params){
if($this->$attribute == ''){
CModel::addError($attribute, 'Number is null');
}
}
//視圖
</fieldset>
<?php echo $form->textFieldRow($model, 'number'); ?>
</fieldset>
有什麼錯誤?該模型驗證沒有任何錯誤,PHP錯誤發生? – darkheir
那到底發生了什麼?你的方法是否被調用? 'var_dump($ this - > $ attribute)'輸出了什麼? – Jon