first i must say that after a great research i found that yii is by far the best php framework under so many points of view…
but as a rookie i have an issue to solve and i did not find any solution on this forum.
I have a model that extends CActiveRecord, inside of it there is a rules() function, that works very well on the form presenting the needed validation messages. but when i extend model and in the controller i istanziate the new class instead of the old one, the validation messages on the form does not appear any more…
In the form the var_dump($model->getErrors()); give an empty array…also if the form is not submitted.
Someone else had the same issue and maybe knows how to overcome it?
Thank you for the attention and don’t esitate to ask more info if needed.
I did many time without problem. Just be sure of the functio model, as said Woil.
Here is an example of working extension I did:
class photographer extends photographerMain
* The followings are the available columns in table 'photographer':
* @var double $ID
* @var double $user_id
* @var integer $trusted
* @var string $wm_data
* @var string $wm_mime
/// used for CFileUpload
* Returns the static model of the specified AR class.
* @return CActiveRecord the static model class
public static function model($className=__CLASS__)
* @return array validation rules for model attributes.
public function rules()
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
array('watermark', 'file','allowEmpty'=>true, 'types'=>'jpeg, jpg, gif, png'),
array('trusted', 'numerical', 'integerOnly'=>true),
Solved…as i said it was caused by my inexperience…
This is de buggy code in the controller
$model=new Player(); # Player extends User
// Uncomment the following line if AJAX validation is needed
if(isset($_POST['User'])) # HERE THE ISSUE: the post values are passed as $_POST['Player']
$model->attributes=$_POST['User']; # HERE TOO
Actually it did not either try to save the model, that’s why I did not see the errors…