Zend_Filter_Input
を名前空間機能を含めて設計して実装しました。
あなたはこの機能の仕組みを後ろ向きに理解していますか?これは、そのクラスの実際の名前がより長い場合、バリデータクラスの短い名前を使用できるようにするためのものです。あなたは明らかにその逆をしています、実際に持っているよりも長い名前のクラスに名前をつけようとしています。
- 名クラス
My_Validate_PasswordConfirmation
- がアプリケーション `でそれを入れて/マイ/検証/ PasswordConfirmation.php
- があなたの
Zend_Filter_Input
オプションにnamespace=>'My_Validate'
を追加します。 は、私は、次の手順をお勧めします。この問題を解決するには。
- 単純に "PasswordConfirmation"としてバリデーターを呼び出します。
アップデート:私はこの上でいくつかの時間を費やしました。私の最初のアイデアは目標外だったようです。あなたが持っている名前空間の問題は、Zend_Filter_Input
の機能とは関係がありません。Zend_Application
ブートストラップ機能と関連しています。オートローダーにクラスプレフィックスを指定できるようです。
ここで別のclueです:
Zend_Loader_Autoloader_Resource makes the assumption that all code you are autoloading will use an underscore separator between namespaces, components, and classes. As a result, you do not need to use the trailing underscore when registering a resource autoloader.
だから、このてみてください:なし末尾のアンダースコアで
'namespace' => 'My',
を。
公式クイックスタートチュートリアルでは、Default_Form_Guestbookはapplication/forms/Guestbook.phpに、Default_Model_Guestbookはapplication/models/Guestbook.phpに配置されています。それは私がそれのようなフォルダ構造に従うべきであると感じさせる。 Zend_Filter_Inputオプションにnamespace => 'My_Validate'を追加するにはどうすればよいですか? 私はこのチュートリアルをお読みください。 http://zfsite.andreinikolov.com/2008/05/part-4-zend_form-captcha-password-confirmation-date-selector-field-zend_translate/ あなたは私を入れてお勧めしますライブラリフォルダの下にあるカスタムバリデータ?私はそれを動作させるために "addPrefix"または他のものを持っていなければなりませんか? – Billy
ありがとうございました。私は、フォームにpasswordconfirmationを正常に追加します。 私の問題を解決できるのはあなただけです。 カスタムバリデーターを使用するためにオートローダー内のresourceTypesを設定するためのチュートリアル(私はresourceTypesについてこれまで知らなかった)を見つけることができません。それは簡単に行うことができますが、私は初心者が問題を解決するための解決策を見つけて見つけることはできないと思います。 – Billy
私はZFが複雑すぎると思います。彼らは設定の点が非常に多いですが、新しいユーザーを導くための十分な文書や分かりやすいデフォルトを提供していません。手が届かない。 –