2012-12-07 15 views
6

Zend Framework 2(現在バージョン2.0.5を使用)でカスタム検証を行った経験があります。私は、 "プロファイルの編集"フォームでパスワード変更セクションを作成することに興味があります。ZF2バリデーション - 別の要素が空でない場合に必要なフィールド

  • 現在のパスワード、
  • 新しいパスワード、
  • は、新しいパスワードの確認:私が行うことができるようにしたいどのような、3つのフィールドを持っています。

その後、私は次のように検証する:

  • 新しいパスワードが設定されている場合は、現在のパスワードも設定(および認証済み)、および新しいパスワードと一致する必要があり、新しいパスワードを確認する必要があります。
  • 現在のパスワードが設定されている場合は、新しいパスワードと新しいパスワードの確認も必要です。
  • 設定されていない場合は、残りのプロファイルの編集を許可するので、検証を続行します。

Zend Framework 2を使用してこれを行う再利用可能な方法を探しています。フォームを再利用できるようにカスタムバリデーターを作成するのが理想的です。私は工場のアプローチが良いかもしれないと思った。これをコントローラ/サービス層でチェックする必要はなく、どこでも私がこれを使いたいと思っています。

種類よろしく、

答えて

-1

ISE

カスタムフィルタを追加することもできますが、私は、これはまた、検証グループを使用して行われ、別途入力のグループを検証することができると思います。

パスワードフィールドを別のグループに追加して、メインのパスワードが空でない場合にのみそのグループを検証することができます。

http://framework.zend.com/manual/2.0/en/modules/zend.input-filter.intro.html

http://framework.zend.com/manual/2.0/en/modules/zend.form.collections.html#validation-groups-for-fieldsets-and-collection

関連する問題