0

ログインフォームと登録フォームがあります。そして、両方とも同じテーブルユーザーに接続されています。Modelクラスで両方のフォームを別々に検証するにはどうすればよいですか。私は2つの異なる関数で試しました、コードは以下です

class User extends AppModel
{
public function login()
  {
    public $private = array('username'=>array('required'=>array('rule'=>'notEmpty','message'=>'Username is reqired . So please fill the username')),'password'=>array('required'=>array('rule'=>'notEmpty','message'=>'Please enter your password.')));
    }
public function register()
    {
        public $private = array('firstname'=>array('required'=>array('rule'=>'notEmpty','message'=>'Enter your first name'),'lastname'=>array('required'=>array('rule'=>'notEmpty','message'=>'Enter your lastname name'),'username'=>array('required'=>array('rule'=>'notEmpty','message'=>'Username is reqired . So please fill the username')),'password'=>array('required'=>array('rule'=>'notEmpty','message'=>'Please enter your password.')),'role'=>array('valid'=>array('rule' => array('inList', array('admin', 'author')),'message' => 'Please enter a valid role','allowEmpty' => false))));
    }
}

私の疑問は、どの機能がログインまたは登録用であるかをコントローラーがどのように知るかということです。これを呼び出すには、コントローラーでコードを記述する必要がありますか????

4

2 に答える 2

1

私はこれがうまくいくかもしれないと思います:-

class User extends AppModel
{

    public $private = array('firstname'=>array('required'=>array('rule'=>'notEmpty','message'=>'Enter your first name'),'lastname'=>array('required'=>array('rule'=>'notEmpty','message'=>'Enter your lastname name'),'username'=>array('required'=>array('rule'=>'notEmpty','message'=>'Username is reqired . So please fill the username')),'password'=>array('required'=>array('rule'=>'notEmpty','message'=>'Please enter your password.')),'role'=>array('valid'=>array('rule' => array('inList', array('admin', 'author')),'message' => 'Please enter a valid role','allowEmpty' => false))));
}
于 2013-01-22T11:53:47.883 に答える
1
class User extends AppModel {

    public $validateLogin = array(
       // validate rules for the login form submission
    );

    public $validateRegister = array(
        // validate rules for the registration form submission
    );

}

class UsersController extends AppController {

    public function login() {

        $this->User->validate = $this->User->validateLogin;

        // handle login form submission

    }

    public function register() {

        $this->User->validate = $this->User->validateRegister;

        // handle register form submission

    }

}
于 2013-01-22T15:44:05.533 に答える