問題タブ [zend-form2]

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.

0 投票する
1 に答える
1162 参照

php - zend Framework 2 を mongo db と統合する方法

Zend Framework 2 を Mongo DB と統合しようとしています。そのための手順またはリンクを提供してください。

クエリ: Doctrine 2 を使用せずに統合を行うことはできますか?

0 投票する
1 に答える
4783 参照

zend-framework2 - 追加された順序でフォーム要素をループします

Zend Form 2は、フィールドセット内のすべての要素を構造化します。(Zend \ Form\FormはFieldsetを拡張します-Form::addはparent::addを呼び出します)

フォームに要素を追加するだけで$form->getElements()、フィールドセットを使用して取得できます。

しかし、いくつかの非表示フィールドを追加し、次にフィールドセットを追加し、最後に送信ボタンを追加するフォームを想像してみてください。

要素/フィールドセットを正しい順序で取得するにはどうすればよいですか?

この背後にある理由は、ビューヘルパーを呼び出すだけでフォームを印刷できるビューヘルパーに取り組んでいることです。

の呼び出しを介してすべてのフォーム要素を呼び出したくありませんformRow() (Form2の背後にある概念を知っています-ロジックをプレゼンテーションから分離します)

どんな助けでも大歓迎です。TIA

0 投票する
1 に答える
1492 参照

php - Zend Framework 2 アプリケーションのフォーム コレクションで dgrid を使用する

私たちの新しいプロジェクトでは、Zend Framework 2 と Dojo 1.8 の使用を開始しました。ZF2 には、完全に書き直されたフォーム モジュールがあり、1 対多の関係のための新しい CollectionElement が特徴です。私が見つけた UI に関しては、その dgrid が (エディター列プラグインを使用して) そのような関係に最適であるため、FormCollection、FormRow、および FormElement ビュー ヘルパーの拡張を開始して、目的の dgrid をレンダリングできるようにしました。dgrid ウィジェットの行ごとの入力名を設定できないことに気付くまでは、すべて問題ありませんでした。

私はZF2 ドキュメントのフォーム コレクションの保管から始めました。コレクションの入力要素には、次のような配列のような名前があることがわかります

一方、dgrid の構成は列ベースであるため、次のような列定義を使用できます。

この列定義は、すべての行に同じウィジェット名を設定することを定義しますが、これは ZF2 コレクション データ形式の要件では機能しません。

私も試したのは、次のように列に名前を付けることです。

これは機能しますが、目的の形式を許可しません

おそらく、次のようなデータを投稿する方法があります。

後で変換しますが、解決策は正しくありません。これに加えて、再利用可能なコードを作成しようとしており、フォームごとのデータ変更を避けたいと考えています。

私はデータ変換のための onSubmit/onClick イベント処理を回避するために非常に努力しているので、2 つの可能な解決策があります。コレクション

残念ながら、これらの解決策のいずれかを実行する方法についてのアイデアが尽きてしまいました。

これは私の現在の質問と多少関連しているので、補足質問としてここに置きます: Dojo との 1 対多のフォーム インターフェイスに、この UI ソリューション以外に何を使用していますか?

0 投票する
2 に答える
9583 参照

forms - Zend Framework2formInputまたはformElementIDタグがレンダリングされない

Zendフレームワーク2で、ビューのformRowメソッドを次のように使用すると

このようなHTMLを生成します

しかし、 formInputを使用する場合

idタグが取得できません

formElementを試してみましたが、同じ結果になりました。

すべての属性と値を含む入力のみをレンダリングするにはどうすればよいですか?

これが私のZendFramework2ビューの外観です(簡略化)

およびZendFramework2フォーム

0 投票する
3 に答える
5109 参照

zend-framework2 - 要素の検証を選択

次のように、フォームに Select 要素があります。

私のvalue_optionsコントローラーにはデータベース情報がいっぱいです...(もっと良い方法はありますか?)

そして、私は彼のために、次のように InputFilter を持っています:

メッセージを変更したいことに注意してisEmptyください...そしてそれが問題です!

フォームを送信すると、英語で同じメッセージが表示されます。

だから私の質問は:なぜ私はまだこのメッセージを持っているのですか?それはどこから来たのですか?どうすれば変更できますか?

Ps .: Text 要素を使用すると、うまく機能します。Select 要素でのみ、この問題が発生します。

追加の質問:

InArray Validator を使用する場合は、次のようにします。

フィールドを常に埋める必要がありhaystackますか?バリデーターにフォームを使用するように言う方法はありませんvalue_optionsか?

ちんちん!

編集

よくわかりませんが、誰もそれを確認していませんが、ZF2 は、フォーム要素に を設定するとデフォルトの検証を行うと思いますtype

例えば、

この場合、ZF2 は Select 要素に対していくつかのデフォルトの検証を作成しようとします。

では、この検証でメッセージをオーバーライドするにはどうすればよいでしょうか?

0 投票する
2 に答える
4754 参照

zend-framework2 - ZF2 動的フォーム フィルタ/バリデータ

フォームを作成するコントローラーをセットアップしています。拡張された Form クラスを使用できないため、コントローラーでフォームを構築する必要があります。

ここでの主な質問は、InputFilterAwareInterface を実装するクラスを作成する必要なく、各要素/フィールドセットのフィルターとバリデーターを定義して、コントローラーからすべてを実行できるようにするにはどうすればよいかということです。

前もって感謝します!

0 投票する
0 に答える
1714 参照

zend-framework2 - ZF2 フォームのラベルが翻訳されていません

私は ZF2 スケルトン アプリに取り組んでおり、「アルバム」モジュールを追加しました。フォームのラベルが翻訳されていません。フォームのラベルを多言語化するには、何をする必要がありますか?

私のコードform/AlbumForm.php

私のコードview/edit.phtml


編集済み


var_dump()$translator( )の$translator = $this->formLabel()->getTranslator();は、次の出力を提供します。



ご覧のとおり、ロケールは「es_ES」です。Myes_ES.poにはラベル (アーティストとタイトル) の翻訳が含まれており、一覧ページの見出しに正しく表示されます。

助けてくれてありがとう。

0 投票する
4 に答える
23365 参照

php - Zend フレームワーク 2 の Zend/Form で生成されたラベルに属性を追加する方法

Zend/Form を使用してページにフォームを追加しています。

次のように定義して要素を追加しています。

ご覧のとおり、'label' => 'cost' ノードがあり、これにより入力要素に対応するラベルが生成されました。

このラベルにクラス、属性を追加するにはどうすればよいですか?

0 投票する
1 に答える
343 参照

zend-framework2 - Zend\Form カスタム HTML マークアップ

カスタム HTML マークアップの作成方法に関するチュートリアルが必要です (Zend 1 のフォーム デコレータなど)。次のようなものを生成したい:

0 投票する
1 に答える
6159 参照

zend-framework2 - Zend\Form を使用してクラスをラベルに適用し、レンダリングされたフォーム内に行末を追加する方法は?

Zend Framework 2 のチュートリアルに従いましたが、レンダリングされたフォームで、ラベルをバインドするための規則は、「for」属性を使用するのではなく、ラベル タグで入力要素をラップすることであることがわかります。チュートリアルでは取り上げていませんが、属性配列を使用すると入力要素自体にクラスを設定できると (正しく) 推測しましたが、本当にやりたいことは、オプションで定義されたラベルにクラスを適用することです。

チュートリアルで使用されている例を次に示します ( からAlbumForm.php)。

これは次のようにレンダリングされます。

必要に応じて、スパン タグにクラスを適用することもできますが、ラベルでクラスを使用してから、スパン要素と入力要素に css 子セレクターを使用することをお勧めします。

チュートリアルと適切なセクションのコメントを読み直し、Zend\Form API ドキュメント自体を掘り下げましたが、この方法でフォーム要素を宣言する際にクラス属性をラベルに適用する方法がわかりません。 .


フォーム レンダリングに関するもう 1 つの些細な問題は、フォーム要素間に改行がなく、インラインでレンダリングされているように見えることです。add.phtml次のように、ビュー スクリプト (およびedit.phtml)に改行を追加することで、これを回避しました。

formCollection()ただし、これは、ビュー内のすべてのエコーされたフォーム ステートメントを処理する必要があり、また を使用するとフォーム出力全体がインラインでレンダリングされるという面倒な作業のように思えます。読みやすくするために、ソースを表示するときに少なくとも適切な場所に改行を入れたいと思います(適切なインデントも望んでいますが、IDEでさえ多くの場合間違っているため、それは難しい注文のようです)

それで、私が見逃しているこれらの懸念のいずれか、または代わりにファクトリーまたはヘルパーを定義する方法のいずれかに対する組み込みオプションはありますか? ヘルパーを作成する必要がある場合は、それをすべてのモジュールに適用したいと思います。