【发布时间】:2013-04-16 13:50:16
【问题描述】:
我有以下操作来处理注册
$model=new User('checkout');
if(!empty($_POST['User'])){
$model->attributes = $_POST['User'];
//echo '<pre>';echo $model->username;die;
$model->validate();
echo $model->getErrors(); die;
}
$this->render('register',array('model'=>$model));
模型规则是
array('username', 'required', 'on' => 'checkout','message' => Yii::t('validation', 'Email can not be blank.')),
array('username', 'unique', 'on' => 'checkout', 'message' => Yii::t('validation', 'Email has already been taken.')),
array('username', 'unique'),
array('passwordConfirm', 'required', 'on' => 'checkout','message' => Yii::t('validation', 'Confirm password can not be blank')),
array('username', 'email', 'message' => Yii::t('validation', 'Invalid username/email format ')),
//comapre passwords
表单发布数据是
Array
(
[fname] => hemc
[lname] => k
[username] => demo
[dob] =>
[password] =>
[passwordConfirm] =>
[agree] => 0
)
问题-:验证模型时没有错误。
【问题讨论】:
-
您是否尝试过使用简单的用户名消息
'message' => 'Invalid username/email format '而不是'message' => Yii::t('validation', 'Invalid username/email format ').. -
是的,试过了,没有成功。
-
您的任何规则都有效??尝试使用必需的基本规则,如果不起作用,则问题出在您的模型数据上。..
-
你在
validate()之前尝试过使用$model->setScenario('checkout');吗?
标签: php validation model yii