Cloud Nine

Avatar

This blog is my everything!!

12/09
2009
validationのUndefined offset: 0 [CORE\cake\libs\model\model.php, line 2435]
12月 9, 2009 0

Cakephpのvalidationのごくごく単純な内容でハマった

記述方法について

maxLengthについて
validationの機能は動いていたのですが、下記のエラーがでてしまった。

Undefined offset: 0 [CORE\cake\libs\model\model.php, line 2435]

で、よくよくドキュメントを確認してみると記述方法が間違っていました。
▼間違った記述方法

var $validate = array(
	'hoge' => array(
		'rule' => array('maxLength' => '100'),
		'message' => '最大100文字までです。'
	)
);

 ↓
▼正しい記述方法

var $validate = array(
	'hoge' => array(
		'rule' => array('maxLength','100'),
		'message' => '最大100文字までです。'
	)
);

▼間違った理由
その上で数値チェックをしていたので、記述法を同じだと勘違いしていました。

var $validate = array(
	'age' => array(
	'rule' => array('comparison', '>=', 18),
	'message' => '18歳以上の方のみ対象です。'
	)
);

単純な間違いなのに、発見するのに30分くらいかかりました。
非常にくやしい。
ドキュメントを読む際に、ああだいたいこうだろうと流し読みしていたから招いたのでしょう。
残念。

Cakephp validationの説明
http://book.cakephp.org/ja/view/134/Core-Validation-Rules

Tags:

,

関連記事

気に入った方はbookmarkしてください。


最近読んだお勧めの書籍 2009/08/17更新

No Comments, Comment or Ping

Reply to “validationのUndefined offset: 0 [CORE\cake\libs\model\model.php, line 2435]”