以前のバージョンからの移行
Zend_ValidateのAPIは、時折変わってきました。
以前のバージョンでZend_Validateとそのサブコンポーネントを使い始めたなら、
新しいAPIを使うようスクリプトを移行するために、下記のガイドラインに従ってください。
1.9から1.10以降への移行
書かれたアダプタ自身
かかれたバリデータ自身の内部からエラーを返すよう設定するときは、
_error()メソッドを呼ばなくてはいけません。
Zend Framework 1.10 以前では、パラメータを与えなくてもこのメソッドを呼び出せました。
そこで、最初に見つかったメッセージテンプレートを使いました。
この振る舞いには、一つ以上の異なるメッセージを返すバリデータを使うときに問題があります。
また、既存のバリデータを拡張すると、予期しない結果を得ることもあります。
このせいで、あなたが期待した通りではないメッセージにユーザーが遭遇することにもなりました。
_error(); // 異なるOS間での予期されない結果
...
}
}
]]>
この問題を防ぐために、_error()メソッドにパラメータを与えないで呼び出すことは、
もはやできなくなります。
_error(self::MY_ERROR); // 定義されたエラー、予期されない結果ではありません
...
}
}
]]>
日付バリデータの簡略化
Zend Framework 1.10 以前では、同一の2つのメッセージが、
日付バリデータ内でスローされていました。
これらは、NOT_YYYY_MM_DDとFALSEFORMATでした。
Zend Framework 1.10 現在では、
与えられた日付が設定されたフォーマットに一致しない場合、
FALSEFORMATメッセージだけが返されます。
Alpha、Alnum及びBarcodeバリデータの修正
Zend Framework 1.10 以前では、バーコード・アダプタ2種類と、
Alpha 及び Alnum バリデータ内のメッセージが同一でした。
このため、カスタムのメッセージ、翻訳、
またはこれらのバリデータの複数のインスタンスを使うときに問題がありました。
Zend Framework 1.10 では、定数値は、一意であるように変更されました。
マニュアルで提案されたように定数を使ったときには、変更がありません。
しかし、コードで定数の内容を使ったときには、
それらを変更しなければなりません。
下記の表では変更された値を示します。
利用可能なバリデータのメッセージ
バリデータ
定数
値
Alnum
STRING_EMPTY
alnumStringEmpty
Alpha
STRING_EMPTY
alphaStringEmpty
Barcode_Ean13
INVALID
ean13Invalid
Barcode_Ean13
INVALID_LENGTH
ean13InvalidLength
Barcode_UpcA
INVALID
upcaInvalid
Barcode_UpcA
INVALID_LENGTH
upcaInvalidLength
Digits
STRING_EMPTY
digitsStringEmpty