frank007
(Shunhui29)
1
各位:
在模型中验证规则不起作用,不知道怎么回事?有以下几种情况:
1.比如在注册页面,当用户输入数据后,点提交,如果提交后不跳转到新的页面,则验证就可以了,如果提交后跳转到新的页面,验证就不起作用了,不知道是咋回事?
Model: public function rules(){
return array(
array('username,password,user_email','required','on'=>'register'),
array('username','authUsername','on'=>'register'),
array('user_email','email'),
);
}
2.不能给动作指定的规则?比如要给‘search’动作自定义规则:
array('username,,'required','on'=>'search'),
就是不起作用? 在论坛找了好久了,没有找到原因?向各位寻求帮助!
dufei22
(Dufei22)
2
1.错误就不应该跳到新的页面去了,跳到新页面没有当前模型的数据当然不会报错了。
2.确认下存入前是否设置了$model->setScenario(‘search’);
frank007
(Shunhui29)
3
感谢你的回复!
第一种情况,我想是先验证用户是否有输入?然后再保存到数据库当中去,再跳转到新的页面,这样应该可以吧,也不知道是不是这个意思?
CModel->setScenario(‘search’)这个是设置一个场景,这个也设置了,还是不行!
dufei22
(Dufei22)
4
第一点要怎么做你参考下blog例子的create
if($model->save())
$this->redirect(...);
就是如果保存成功再重定向到其他页,没成功则继续执行下面的代码还是在本页。
第二点再调试看看,看看是否是错误定向造成还是什么,可以在beforeSave前输出model看看