ユーザーモデル
//...
public $validate = array(
"username" => array(
"alpha-numeric" => array(
'rule' => 'alphaNumeric',
'required' => true,
'message' => 'Username must contain only numbers and letters.'
),
"between" => array(
"rule" => array("between", 4, 25),
"message" => "Username must contain between 4 to 25 characters."
)
),
//...
ユーザーコントローラー
public function index() {
debug($this->data); // displays values as expected
debug($this->User->validates()); // always false, unless I remove alphanumeric rule
}
送信時に、テキストの内容に関係なく、フォームは常にusername
フィールドをfalseとして検証します(対応するメッセージをトリガーします)。残りのフィールドも検証されません。検証ルールをまとめて削除してusername
も、残りのフィールドはまだ検証されません。(フォームは検証済みのように送信されます)
ここで何が欠けていますか?