問題タブ [zend-form]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Zend_Formで、Zend_Validate_Emailが複数のエラーを生成しないようにするにはどうすればよいですか?
私はZendFrameworkアプリケーションを構築しています。これは、メールアドレスとパスワードを要求するログインフォームとして、ログイン試行でデータベースにアクセスする前にメールアドレスを検証するのが理にかなっているようです。無効なメールが有効なヒットにつながることは決してないからです。Zend_Validate_EmailAddressは正しい方法のように見えましたが、複数のエラーが生成されるという問題があります(コードの後の下部にある質問)。
私のフォームには現在次のものがあります
コントローラで、フォームをビューに直接渡します。
そして、ビューでは、それは直接エコーされます:
結果は現在次のようになります。
私が知りたいのは、Zend _
Validate _
EmailAddressを、1つの電子メール無効エラーのみを生成するように構成することは可能ですか?'configure'とは、クラスを拡張したり、ロジックを自分のものでオーバーライドしたりすることなく意味します。
TIA。
php - zend_form レイアウトを完全に制御することは可能ですか?
私は数週間 Zend Framework を使用してきたので、これは完全な初心者の質問かもしれませんが、Zend_Form を使用して明示的な方法でフォームのレイアウトをカスタマイズする方法があるかどうか疑問に思っています。私はあらゆる場所を見てきましたが、私が見つけた Zen-Form のすべての例は echo の例を使用しています。
たとえば、Smarty と HTML_QuickForm を使用する場合、各フォーム要素をページ上の好きな場所に配置するオプションがあります。
しかし、Zend Framework では、実際の php コードでフォーム要素を装飾し、完成したフォームをエコーする必要があるようです。
それが不可能な場合、このレベルの制御を可能にする PHP フレームワークはありますか?
zend-framework - ZendフォームのMultiOptions要素に日付を入力します
こんにちは私はこのような配列を持っています:
しかし、この配列をZend_Formに入力すると、複数選択ドロップダウン要素ではなく、配列インデックスで定義されたものと同じIDを持つテキストボックス要素のデータのみが表示されます。例えば:
ただし、MultiOptionsではレコードは表示されません。
php - Zend_Form 表示グループの問題
以下は、Zend_Form を拡張した私のクラスの短いスニペットです。
問題は、フォームを印刷すると、送信ボタンのみが印刷され、入力フィールドを含むフィールドセット (通常の Zend_Form_Element_Text 要素) が存在しないことです。
編集: $this->addDisplayGroup() (またはコメント) を削除すると、テキスト要素は問題なく表示されます。
php - Zend_Form_Element_Select の使用時に InArray バリデータのカスタム エラー メッセージにアクセスする
私は Zend Framework 1.62 を使用しています (ZF1.62 をサポートするのに十分な PHP バージョンがない Red Hat インスタンスに完成品をデプロイするため)。
Zend Form を使用してフォームを作成する場合、select 要素を追加し、複数のオプションを追加します。Zend フォームをオブジェクト内検証レイヤーとして使用し、オブジェクト値を渡し、isValid メソッドを使用してすべての値が通常のパラメーター内にあるかどうかを判断します。
Zend_Form_Element_Select は期待どおりに機能し、追加した複数選択オプション以外の値が入力された場合は無効と表示されます。
問題は、ある時点でフォームを表示したいときに発生します.ZFによって自動的に追加された事前登録済みの「InArray」バリデーターによって作成されたエラーメッセージを編集できません。この動作を無効にできることはわかっていますが、エラー メッセージ以外はうまく機能します。私は次のことを試しました:
// アプリケーション内の別の場所で競合が発生し、エラー メッセージをきめ細かく制御できません。
誰にもアイデアはありますか?
ベン
php - Zend Framework フォームの不合理な動作
まず、私の意見を示すために使用する短いコード スニペットから始めましょう。
この重要な行は次のとおりです。
つまり、入力フィールドは必須ではなく、入力せずにフォームを送信できます。ただし、これは、このフィールドに入力することを選択した場合、フィルターとバリデーターが適用されないことも意味します。
常識的に言って、それは不合理な行動です。HTML入力フィールドに関連して「必須」という言葉を理解する方法:必須ではない入力フィールドは、入力されていない場合はNULLを返す必要がありますが、ユーザーが入力することを決定した場合は、フィルターとバリデーターの両方を適用する必要があります。それが私にとって理にかなっています。あなたは私に同意しますか、それとも私の常識はそれほど一般的ではありませんか?
これが Zend_Form の動作であるため、より実用的な質問です。上記のように機能する必須フィールドを実現するにはどうすればよいですか (ユーザーが何も入力しない場合は NULL を返します)。それ以外の場合は、フィルターとバリデータが通常適用されます)。
zend-framework - Zend_Formとデコレータ:マルチオプションのradioformにhtmlタグを挿入する方法は?
私は現在、適切にフォーマットされたHTMLを出力するために、Zend_Formとそのデコレータメカニズムを使用しようとしていますが、必要な出力を得ることができません。
具体的には、ラジオボタンフォーム要素(Zend_Form_Element_Radio)があり、次のように複数のオプションが登録されています。
必要なHTML出力は次のとおりです。
私は多くの点で問題を解決しましたが、解決策は見当たりません。どんな助けでもありがたいです!
zend-framework - xthml スクリプトを使用した Zend_Form (デコレータを使用しない場合)
(デコレータを使用せずに Zend_Form を使用する方法については、この投稿を参照してください。)
アクション内で Zend_Form オブジェクトを作成し、レンダリングする前にフォームをビューに割り当てます。
次に、次のコードをビュー スクリプト (index.phtml) に追加します。
しかし、それはエラーになります
メッセージ: 名前要素によるデコレータは存在しません
私はデコレータを使用しませんでした.私のコードの問題は何ですか.
これは完全なカスタム エラー メッセージです。
デコレータを使用せずにこの問題を解決する方法
php - zend_Form:検証とエラーメッセージを表示する
私のプロジェクトには、インデックスや会社概要などのほとんどのページで呼び出される一般的な「お問い合わせフォーム」があります。このページは、ユーザー入力を受け入れ、管理者にメールを送信してから、ページに戻ります。
お問い合わせフォームのコードは
$ this-> setAction('contactus / index');という行に注意してください。私の考えでは、インデックスページからこのフォーム(一般的なフォームであることに注意してください)に入力すると、「contactuscontroller」インデックスアクションを通過します。そこからメールを送信し、インデックスページに戻ります。ページが私たちについてのページから埋められると、私たちについてのページに戻ります。
インデックス、バージョン情報などのさまざまなページにコードで含まれています
そして、コントローラーコードは次のようになります
フォームが検証されないことを除いて、このフォームに入力すると、すべてが正常に機能し、メールが失われます。たとえば、メールは必須フィールドである「FullName」なしで送信される場合があります
別の問題では、「ありがとう」などのメッセージを表示できません。
これは、私が使用した$ this-> _helper->redirectorメソッドが原因である可能性があります。フォームがリダイレクトされるため、値が失われます。私が使用し$this->_helper->forwarded
たり、$this_forward()
それも機能しない場合。
検証メッセージやその他のメッセージを適切にディップする方法を提案していただけますか?英語が下手でごめんなさい、そして事前に感謝します