我有注册模型(其中包含登录名、密码、电子邮件、手机等字段),并希望在登录操作中使用注册中的一些字段(如登录名和密码),并对其进行验证。我如何重用模型字段,并根据场景验证字段。
问问题
1869 次
2 回答
1
我认为您可以重用表单模型,并且可以在表单中为每个操作编写自定义验证规则。例如。哈里,你就这样试一试……
class RegistrationForm extends CFormModel {
public $login;
public $password;
public $email;
public $mobile;
public function rules() {
return array(
array('login,password','loginValidator','on'=>'login'),
array('login,password,email,mobile','registerValidator','on'=>'register')
);
}
public function loginValidator() {
dummyfunc($this->login,.....);
}
public function registerValidator() {
dummyfunc($this->login,.....);
}
}
控制器部分:
$formModel = new RegistrationForm('login');
$formModel->attributes = $_POST['RegistrationForm'];
if($formModel->validate()) {
#..........;
} else {
#..........;
}
祝你今天过得愉快!!!
于 2011-11-01T11:03:35.147 回答
0
最好使用用户模块。
这是一个用户模块的目录结构示例:
protected/modules/user/
controllers/
LoginController.php
LogoutController.php
RegisterController.php
...
models/
Login.php
Register.php
...
views/
user/
login.php
register.php
...
yii-user的目录结构可能很有用。
于 2011-11-02T21:14:39.773 回答