Как повторно использовать форму Yii, используя сценарий - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть модель регистрации (в которой есть поля логин, пароль, адрес электронной почты, мобильный телефон) и я хочу использовать некоторые поля из регистрации (например, логин и пароль) в действии входа в систему, а также проверить ее. Как я могу использовать поля модели, а также проверить поля на основе сценария.

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

Я думаю, что вы можете повторно использовать модель формы и написать собственные правила проверки в форме и для каждого действия.например.Хари, просто попробуй вот так ...

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 {
  #..........;
}

хорошего дня !!!

0 голосов
/ 03 ноября 2011

Лучше использовать пользовательский модуль.

Это пример структуры каталогов пользовательского модуля:

protected/modules/user/
    controllers/
        LoginController.php
        LogoutController.php
        RegisterController.php
        ...
    models/
        Login.php
        Register.php
        ...
    views/
        user/
            login.php
            register.php
            ...

Структура каталогов yii-user может быть полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...