1

CakePHP は初めてで、簡単なユーザー登録を作成しようとしました。今、フォームの検証で 2 日間立ち往生しています。検証関数は常に true を返すため、フォームが空であっても常にデータベースに保存されます。

ここにモデル、コントローラー、ビューがあります。ここで私が間違っていたことがわかりますか?

/app/Model/MemberModel.php

<?php
class Member extends AppModel {
    var $validate = array(
        "username" => array(
            "rule" => "alphaNumeric",
            "allowEmpty" => false
        )
    );
}
?>

/app/Controller/MemberController.php

<?php
class MemberController extends AppController {

    var $components = array("Security");
    var $helpers = array("Html", "Form");

    public function index() {
    }

    public function register() {

        if($this->request->is("post")) {
            Security::setHash("blowfish");
            $this->Member->set($this->request->data);

            debug($this->Member->validates());

            if($this->Member->save(array("password" => Security::hash($this->request->data["Member"]["password"])))) {
                $this->Session->setFlash(__("Saved."));


    } else {
            $this->Session->setFlash(__("Error: ").$this->validationErrors);
        }
    }
}
}
?>

/app/View/Member/register.ctp

<?php
echo $this->Form->create("Member");
echo $this->Form->input("username");
echo $this->Form->input("password");
echo $this->Form->end("Register");
?>
4

1 に答える 1