Yii模型验证


Yii model validation

嘿,谁能帮我验证yii中的模型?

class MyFormModel extends FormModel
{
        public myAttribute1;
        public myAttribute2;
        public function __construct()
        {
                $this->myAttribute1 = 'blablabla'
                $this->user = new User();
        }
        public function rules()
        {
                $rules = parent::rules()
                $rules[] = array('myAttribute1', 'required', 'message' => 'this is required');
                $rules[] = array(#i need to add validation for $user->firstname here#);
                return $rules;
        }
}

如何验证来自另一个模型的属性?

您可以在用户模型本身中编写firstname属性的规则。在这个页面上,你可以使用

来验证这个字段
$userMDl = new User();
if($userMDl->validate(array('firstname ')) 
     // valid
}

您可以添加到您的MyFormModel属性

private $firstname;

override init method

public function init(){
    ...
    $this->firstname = $user->firstname;
}

rules

$rules[] = array('firstname', 'required', 'message' => 'firstname is required');

您可以在表单类中编写自己的验证函数。请参阅下一篇文章:http://www.yiiframework.com/wiki/168/create-your-own-validation-rule/