問題タブ [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 に答える
1299 参照

php - Zf2 Callback Validator がすべてのフォーム値を渡さない

現在、ZF2 を使用してフォームをセットアップしています。フォーム上の 2 つの異なる要素の値を比較することに基づいて、フォームの検証をセットアップできるようにしたいと考えています。過去にコールバックバリデーターを使用してすべてのフォーム値を渡したところ、現在のシナリオでは検証されている要素の値しか取得できないようです。

これが私のフォームのセットアップ方法です

問題は、現在のところvar_dump(func_get_args())返されるだけであることです:

purchase_date以前は、これがコールバックの 2 番目の引数の一部として値を渡すことも期待していました。

以前にこの問題を経験した人はいますか? アプリケーションの他の領域で期待どおりにコールバック関数を使用していますが、ここでは機能していないようです。

前もって感謝します

明確にするために(検証に影響を与えるとは思いませんが)、関数$this->addElementは私自身の関数であり、特性に保持され、単純です:

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

php - Zend Framework 2 - フォーム アクションの処理

Zend Framework 2 で、Zend\Form\Formという名前の拡張クラスを作成しましたMyForm

1 つのindexActionController クラスで、次のMyFormように初期化し ます。

次に、対応するビューで、基本的には

これはすべて機能しますが、フォームのアクションが欠落していることに気付いたかもしれません。

ビューに次のようなアクションを追加しようとしました:

次に、IndexController 内の go アクションで、テスト用にこれを用意しました。

これはまったく機能しませんでした。常にフォーム ビュー (== インデックス アクション) に戻ります。go アクションが実行されないのはなぜですか?

また、アクション属性をハードコーディングして、セグメント ルートに処理を任せることも、独自のルートを定義することもできることもわかっています。

フォーム アクションが独自のルートを取得する必要があるのはどのような場合ですか?
セグメント ルートを使用してフォーム アクションを処理する必要があるのは、どのような場合ですか?
私の例のように、どのような場合にフォーム アクションを処理する必要がありますか?

これに厳密なルールがない場合: 異なるアプローチはどのような意図を伝えているのでしょうか?

ビューの代わりにコントローラーにフォーム アクションを追加することもできますか?

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

forms - ZF2 (v2.3.3) に Zend Service ReCaptcha を含めて使用する

Zendフレームワーク2にRecaptchaサービスを含める方法は?

私はこのようにしようとしました:

しかし、フレームワークをダウンロードしたときに ZendService\ReCaptcha がデフォルトで存在しないことがわかりました。それで、ここからダウンロードしました https://github.com/zendframework/ZendService_ReCaptcha

vendor\zendframework\zendframework\library\zendライブラリの他の部分と一緒に配置しました。

ページを更新しようとしましたが、zend サービスの recaptcha が見つからないため、再び機能しません。

誰かが私を助けることができますか?recaptcha を実装するのは簡単だと思っていましたが、そうではありません。ありがとう!

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

doctrine-orm - Doctrine 2: フォームフィールドは Doctrine\Common\Collections\ArrayCollection@00 を値として表示します

私は Zend Framework 2 と Doctrine 2 にかなり慣れていないので、問題を検索またはデバッグする方法さえわかりません。

私は3つのデータベーステーブルを持っています

1. 広告
ID
adverttitle ...

2. カテゴリ
ID
カテゴリ名 ...

3. advert_category
advert_id
カテゴリ_id

広告とカテゴリの 2 つのエンティティを作成しました。これで、選択するカテゴリを表示するフォームができました。jQuery を使用して、カテゴリをドロップダウンではなくリストとして表示し、選択可能な関数も一緒に表示します。したがって、カテゴリをクリックすると、このリスト要素の値がカテゴリと呼ばれる非表示の入力フィールドに入力されます。

フォームを表示すると、非表示のカテゴリ入力フィールドが空の代わりにDoctrine\Common\Collections\ArrayCollection@000000000.....の値を取得したことを除けば、すべて正常に動作します。ここで何が間違っていますか?解決策を見つけようとしましたが、うまくいきませんでした。

最終的に複数のカテゴリを保存できるようにするため、ManyToMany 関係を選択しました。現在は 1 のみで動作していますが、この方法で後で変更できるはずです。

ここで私の広告エンティティ:

これを引き起こす広告エンティティにエラーはありますか? 誰かが助けてくれることを願っています。数週間前からこの問題があり、正しく動作させることができません。

更新 - フォームを呼び出すために、コントローラーにフォームとパーツを追加しました

以下のフォームには、2 つのドロップダウン要素と 2 つの非表示の入力フィールドが表示されます。2 つのドロップダウン フィールドは、jQuery を介して選択可能なリストに変換されます。Maincategory からリスト要素をクリックすると、選択した Maincategory の Subcategories が選択可能なリストとして再び表示されます。MaincategoryID は非表示の categoryID フィールドに入力されます。リストからサブカテゴリを選択するとすぐに、そのカテゴリの ID が非表示のカテゴリ フィールドに書き込まれます。「次へ」ボタンをクリックすると、$_POST['categories'] の値が advertID とともにリンク テーブルに保存されます。

私のコントローラーでは、次の方法でフォームを呼び出します。

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

php - ZF2 フォーム コレクション - Doctrine タイプ "array" のコレクションの使用

ZF2にハマってます!フォームに Collection 要素を追加して、Doctrine エンティティの単純な「配列」に格納されている電話番号の配列を表示しようとしています。

1 つのフィールド (電話番号) しか必要ないため、Fieldset を使用せずに値を Doctrine で動作させる適切な方法を知りたいです。

私は多くのことを試しましたが、何も機能していません。誰かがそれをしたなら、教えてください!

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

doctrine-orm - ZF2 の異なるフォームでフォームの同じ部分を再利用する

私のフォームの多くには同じフィールドがありますが、それらのフィールドは別個のエンティティではありません。Baseあらゆる形で再利用できるものが欲しかったのです。フィールドセットを使用しようとしましたが、すべての例でフィールドセットのエンティティを使用することをお勧めします。以下のようにフィールド セットを使用すると、フィールドセットが入力されますが、フォームの残りの部分はエンティティ フィールドにバインドされません。

BaseSF (より多くの共有フィールドを持つ予定です)

身元情報フォーム

編集1

インターンシップ中にさまざまなスキルを練習する学生がいます。彼らはインストラクターの成績を取得し、スキルごとに自分自身に成績を割り当てます。すべてのスキルには例もあります (db から読み込まれたツールチップ テキスト)。これらのフォーム要素はすべて、各スキルで同じです。要素 (例: インストラクター グレード) を変更 (例: css クラスを追加) する必要がある場合があり、すべてのフォームのすべての要素を通過することを避けたい場合があります。

フォームの例。フォームの 1 つは次のようになります。

applJusticeFIGrade と EngageJusticeFIGrade は、同じ種類のフィールド (インストラクターの成績) です。applJusticeFIGrade に FieldSet を使用しようとしました ( fieldset 内の select 要素の引数として名前を提供する方法を見つけることを念頭に置いて、1 つのグレードで試しました)。

Instructor Grade フィールドがビューに表示されますが、Doctrine はデータベースから値を割り当てることができません (既に試したバリエーションを示すためにコメントアウトしたコードを残しました):

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

php - ZF2: textbox を multicheckbox にアタッチできますか? MultiCheckboxまたはZF2のチェックボックスのグループを使用して「その他」または「コメント」などのテキストボックスフィールドを作成する方法は?

私はこのに従っていますが、「その他」チェックボックスがクリックされたときにアクティブになる「その他」オプションに追加のテキストボックスを追加する必要があります。別のテキスト ボックスをフォームに追加し、JS コードで有効にすることはできますが、MultiCheckbox の値、または特定の target_class の特定のプロパティのチェックボックスのグループと一緒にグループ化するにはどうすればよいですか?

実在物

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

zend-framework2 - Zend Framework 2 - InputFilter add InputFilter

私はいくつかのInputFiltersを書きました。今、私はそれらのいくつかでフォームをフィルタリングして検証したいと思っています。だから私はコンストラクターで必要な他のすべてを追加し、この新しいものをフォームに設定する新しいInputFilterを書くことができると思ったが、それはうまくいかない^^ここに私のコードがある:

サンプルInputFilter


私の設定:


私の工場:


RegisterInputFilter (フォームに必要なものをすべて追加したい):


私のregistercontrollerのフォームにフィルターを追加します:



myEmailFilter をフォームに直接追加すると機能しますが、registerfilter を追加すると例外が発生します

[[追加情報]]: Zend\InputFilter\Exception\InvalidArgumentException [[ファイル]]: /home/vagrant/project/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php:137 [[メッセージ]]: Zend\InputFilter\BaseInputFilter::setData は、配列または Traversable 引数を想定しています。受け取った文字列 [[スタック トレース]]: #0 /home/vagrant/project/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php(535): Zend\InputFilter\BaseInputFilter->setData('') # 1 /home/vagrant/project/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php(147): Zend\InputFilter\BaseInputFilter->populate() #2 /home/vagrant/project/vendor/zendframework/ zendframework/library/Zend/Form/Form.php(467): Zend\InputFilter\BaseInputFilter->


単一のフィルターを正しい方法で積み重ねるにはどうすればよいですか? add() 関数も InputFilters を受け入れると思っていましたが、似ていません。

助けてthx :-)

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

zend-framework2 - MultiCheckBox ラベルを太字または強くする方法は?

次のマルチチェックボックスがあります。

次の部分を太字にする方法は?label_attributes を使用すると、すべてのラベルが太字になり、マルチボックスのメイン ラベルだけを太字にしたい。

編集 1: label_attributes を「オプション」に追加

@itrascastro が提案したように label_attributes を追加すると、すべてのラベルが太字になり、一番上のラベルだけを太字にしたい: multicheckbox