| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 17908 -->
- <sect1 id="zend.validate.migration">
- <title>以前のバージョンからの移行</title>
- <para>
- <classname>Zend_Validate</classname>の<acronym>API</acronym>は、時折変わってきました。
- 以前のバージョンで<classname>Zend_Validate</classname>とそのサブコンポーネントを使い始めたなら、
- 新しい<acronym>API</acronym>を使うようスクリプトを移行するために、下記のガイドラインに従ってください。
- </para>
- <sect2 id="zend.validate.migration.fromoneninetooneten">
- <title>1.9から1.10以降への移行</title>
- <sect3 id="zend.validate.migration.fromoneninetooneten.selfwritten">
- <title>書かれたアダプタ自身</title>
- <para>
- かかれたバリデータ自身の内部からエラーを返すよう設定するときは、
- <methodname>_error()</methodname>メソッドを呼ばなくてはいけません。
- Zend Framework 1.10 以前では、パラメータを与えなくてもこのメソッドを呼び出せました。
- そこで、最初に見つかったメッセージテンプレートを使いました。
- </para>
- <para>
- この振る舞いには、一つ以上の異なるメッセージを返すバリデータを使うときに問題があります。
- また、既存のバリデータを拡張すると、予期しない結果を得ることもあります。
- このせいで、あなたが期待した通りではないメッセージにユーザーが遭遇することにもなりました。
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(); // 異なるOS間での予期されない結果
- ...
- }
- }
- ]]></programlisting>
- <para>
- この問題を防ぐために、<methodname>_error()</methodname>メソッドにパラメータを与えないで呼び出すことは、
- もはやできなくなります。
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(self::MY_ERROR); // 定義されたエラー、予期されない結果ではありません
- ...
- }
- }
- ]]></programlisting>
- </sect3>
- <sect3 id="zend.validate.migration.fromoneninetooneten.datevalidator">
- <title>日付バリデータの簡略化</title>
- <para>
- Zend Framework 1.10 以前では、同一の2つのメッセージが、
- 日付バリデータ内でスローされていました。
- これらは、<constant>NOT_YYYY_MM_DD</constant>と<constant>FALSEFORMAT</constant>でした。
- Zend Framework 1.10 現在では、
- 与えられた日付が設定されたフォーマットに一致しない場合、
- <constant>FALSEFORMAT</constant>メッセージだけが返されます。
- </para>
- </sect3>
- <sect3 id="zend.validate.migration.fromoneninetooneten.barcodevalidator">
- <title>Alpha、Alnum及びBarcodeバリデータの修正</title>
- <para>
- Zend Framework 1.10 以前では、バーコード・アダプタ2種類と、
- Alpha 及び Alnum バリデータ内のメッセージが同一でした。
- このため、カスタムのメッセージ、翻訳、
- またはこれらのバリデータの複数のインスタンスを使うときに問題がありました。
- </para>
- <para>
- Zend Framework 1.10 では、定数値は、一意であるように変更されました。
- マニュアルで提案されたように定数を使ったときには、変更がありません。
- しかし、コードで定数の内容を使ったときには、
- それらを変更しなければなりません。
- 下記の表では変更された値を示します。
- </para>
- <table id="zend.validate.migration.fromoneninetooneten.barcodevalidator.table">
- <title>利用可能なバリデータのメッセージ</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>バリデータ</entry>
- <entry>定数</entry>
- <entry>値</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Alnum</entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>alnumStringEmpty</entry>
- </row>
- <row>
- <entry>Alpha</entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>alphaStringEmpty</entry>
- </row>
- <row>
- <entry>Barcode_Ean13</entry>
- <entry><constant>INVALID</constant></entry>
- <entry>ean13Invalid</entry>
- </row>
- <row>
- <entry>Barcode_Ean13</entry>
- <entry><constant>INVALID_LENGTH</constant></entry>
- <entry>ean13InvalidLength</entry>
- </row>
- <row>
- <entry>Barcode_UpcA</entry>
- <entry><constant>INVALID</constant></entry>
- <entry>upcaInvalid</entry>
- </row>
- <row>
- <entry>Barcode_UpcA</entry>
- <entry><constant>INVALID_LENGTH</constant></entry>
- <entry>upcaInvalidLength</entry>
- </row>
- <row>
- <entry>Digits</entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>digitsStringEmpty</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
- </sect2>
- </sect1>
|