Zend Framework 徹底マスターを見ながら、Zend Framework触っているのですが、バリデートがサンプル通りだと動かなかったです。
エラーメッセージを設定する際に、複数のエラーメッセージを指定に配列を使って行うと、うまくエラーメッセージが表示できません。Arrayって表示されてしまった。
どうやらsetMessageとsetMessagesメソッドを間違えて、setMessageメソッドつかってました・・・。
でもまあ、setMessagesで配列で定義するのもあれだなーとおもって、setMessageで一つ一つエラーメッセージをいれてったほうがかっこいいような気もします。
あーでも、配列でいっきにエラーメッセージの定義しておいて、って場合はやっぱりsetMessagesの方がいいのか。
どちらにしろ、まだZend Framework使い始めたばかりになのでZendの感覚がわかりませんw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php
require_once 'Zend/Validate/Alnum.php';
$str = '24日間'; // これは不正な形式
$validator = new Zend_Validate_Alnum();
// エラーメッセージをセットする
$validator->setMessage('[%value%]には半角英数字以外の文字が含まれています。',Zend_Validate_Alnum::NOT_ALNUM )
$validator->setMessage('文字列が入力されていません',Zend_Validate_Alnum::STRING_EMPTY);
// バリデート処理
if (!$validator->isValid($str)) {
$msg = $validator->getMessages();
foreach ($msg as $value) {
echo $value . '<br />';
}
} else {
echo 'チェック処理を通過しました!';
}
|
cakePHPよりバリデーションとかめんどくさそうだけど、その分自由度が高いのかなとか思いました。