yii1.1提交保存数据不验证模型 [ 1.1 版本 ]
今天修改yii 1.1开发的一个程序,发生了神奇的一幕,后台登陆的时候会验证模型,提示需要输入用户名和密码、验证码等,可是进入后台之后,所有的模块提交保存数据都不会提示验证model里设置的rules,假如修改的数据是不符合model里的规则,页面自动跳转到列表页面,但是数据不会修改。数据符合model里的rules规则,则会修改保存数据,并提示保存成功,请教如何修改。
model如下:
`
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('username', 'required'),
array('status, role_id, created_at, updated_at', 'numerical', 'integerOnly'=>true),
array('username, email, avatar', 'length', 'max'=>255),
array('email', 'email'),
array('auth_key', 'length', 'max'=>32),
array('username, password, captcha', 'required', 'on'=>'login'),
array('captcha', 'captcha', 'allowEmpty'=>!extension_loaded('gd'), 'on'=>'login'),
array('username, password, rePassword', 'required', 'on'=>'rePassword'),
array('password', 'compare', 'compareAttribute'=>'password'),
// The following rule is used by search().
// @todo Please remove those attributes that should not be searched.
array('id, username, auth_key, password_hash, password_reset_token, email, avatar, status, created_at, updated_at', 'safe', 'on'=>'search'),
);
}
controller如下:
public function actionUpdate($id)
{
$model=$this->loadModel($id);
// Uncomment the following line if AJAX validation is needed
//$this->performAjaxValidation($model);
if(isset($_POST['AdminUser']))
{
$model->attributes = $_POST['AdminUser'];
if($model->validate() && $model->save())
Yii::app()->user->setFlash('success', Yii::t('app', 'Update Success'));
$this->redirect(array('index'));
}
$this->render('update',array(
'model'=>$model,
));
}
`
共 0 个回答
没有找到数据。
willjz
注册时间:2016-11-20
最后登录:2021-07-16
在线时长:7小时26分
最后登录:2021-07-16
在线时长:7小时26分
- 粉丝2
- 金钱210
- 威望0
- 积分280