2011-08-12 10 views
0

私は2つのページを持っています:作成、更新。どちらにもアップロードimgファイルのフィールドがあります。 ページの作成では、imgファイルを検証する必要がありますが、更新では必要ありません。 モデルのすべてのページに対してカスタム検証を設定する方法は?Yii:カスタム検証ルール

答えて

4

これは、シナリオを使用して行うことができます。
これらは、特定の検証規則をいつ使用するかを決定します。あなたが検証/シナリオの詳細については、the official documentationを見てとることができ

<?php 
class SomeModel extends CModel 
{ 
    public $image; 

    // ... 

    /** 
    * Returns the validation rules for attributes. 
    */ 
    public function rules() 
    { 
     return array(
      array(
       'image',   // Attribute list 
       'image_validator', // Validation rule 
       'on' => 'update', // Scenarios when the validation rule should be used 
       'message' => 'The image is invalid!', // Error message 
      ) 
     ); 
    } 

} 

:よう

何か。

+0

その仕事、ありがとう! – shox

関連する問題