1

いくつかのエンティティ(名前、住所など)を含むフォームを作成しました。そして、モデルクラスで検証ルールを定義しました。クライアント側の検証は、希望どおりに完全に機能しています。次に、カスタム検証ルールを作成する必要があります。そのために、http: //www.yiiframework.com/wiki/168/create-your-own-validation-rule/#hh0を参照して、モデルにvalid_number()というメソッドを作成し、単純なものを定義しました。 nullチェック(null、電子メール、パスワードなどを検証するための組み込みルールがあることを知っています。ここでは、検証の簡単な方法を示しました。実際には、いくつかのカスタム検証を行う予定です)。以下のコードを参照してください。そして、私が間違っていることを教えてください。

//モデル

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>
4

3 に答える 3

3

CModel::addErrorする必要があります$this->addError

于 2013-01-23T09:26:11.610 に答える
0

なぜ静的関数を呼び出すのCModel::addErrorですか?

addErrorオブジェクトを呼び出すだけで機能します。

public function valid_number($attribute, $params) {
    if ($this->$attribute == '' ) {
        $this->addError($attribute, 'Number is null');
    }
}
于 2016-08-06T15:18:25.573 に答える