RSS

validateチェックひっかからん!とおもったら。

12 12月

不思議。viewで下記のように記載。問題なのはkind の入力チェック。
これだとvalidateにひっかかる。ひっかからん。

  echo $form->create('User', array('action' => 'add'));
  echo $form->input('mail');
  //小技的に名前をかえて。
  echo $form->input('pass');
  $jobType = array('AAA', 'BBB');
  $options = array('showParents' => true);
  echo $form->select('kind', $jobType, null, $options, '選択してください');
  echo $form->submit();
  echo $form->end();

こちらはなんでかチェックにひっかからない。ひっかかる。タイプミスかなあ…?

  echo $form->create('User', array('action' => 'add'));
  echo $form->input('mail');
  //小技的に名前をかえて。
  echo $form->input('pass');
  $jobType = array('AAA', 'BBBB');
  $options = array('showParents' => true);
  echo $form->input('kind',array('type'=>'select','options'=>$jobType,'empty' => '(一つ選んでください)'));
  echo $form->submit();
  echo $form->end();

Model側

		var $validate = array(
			'pass' => array(
				'alphaNumeric' => array(
					'rule' => 'alphaNumeric',
					'required' => true,
					'message' =>'パスワードを入力してください'
				),
				'between' => array(
					'rule'=> array('between',5,15),
					'message'=> '5文字以上15文字以内で入力してください'
				)
			),
			'mail' => array(
				'email' =>array(
					'rule' => 'email',
					'required' => true,
					'message' =>'メールアドレスを入力してください'
				), array(  
				    'rule' => array('validateUnique', 'mail'),
            'message'=>'すでにこのメールアドレスは登録されています',
            'on'=>'create',
        ),
			),
			  'kind' => array(
			  'rule'=>'notEmpty',
			  'required' => true,
			  'message'=>'種別を選択してください',
			)
		);

出力されたHTMLソースも比較してみたんだけど、なにが違うのかわからん!なんでだー!ビールのも。
→とおもったら違った!(@naimasaさん、ありがとう!)なんと、メッセージが出ないだけです…。メッセージが出ない!出ない!で騒いでたけど、チェックは走ってた…。いやなんで出ないのか、ってことも問題なんだが。で、なんででないのと思ったんだけど、さらに調べたらこちらのサイトでも、詳細が乗ってました。@cakephperさんこちらにもメッセージを上部にまとめて出力する方法が載っていますね。試してないけどおそらく$this->input以外はメッセージはデフォルトで表示されないんですね。むしろinputのほうはデフォルトでエラーメッセージがでますよ、っていう親切的な意味合いなのかもなあ。

どちらでもエラーが拾えて、表示されることがわかったのでゆっくり寝れます。明日こそビールのむぞ!(結局飲めてない)

広告
 
コメントする

投稿者: : 12月 12, 2009 投稿先 cakephp

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。