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

zend-framework2 - ZF2 で FormMultiCheckbox を使用せずにグローバル ラベルを表示できるようにするにはどうすればよいですか?

私はで使用Zend\Form\Element\MultiCheckboxしていZend\Form\View\Helper\FormMultiCheckboxます:

MyFieldset.php

myform.phml

動作しますが、「global label」が表示されません。を使用していると表示されますZend\Form\View\Helper\FormElementFormMultiCheckbox、「グローバル」を無視しているようlabelです。

チェックボックス一覧をFormMultiCheckbox表示させるには?label

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

zend-framework2 - MultiCheckbox の要素を ZF2 のオブジェクトにバインドする方法は?

ネストされたZend\Form\Fieldsets およびZend\Form\Collectionsを使用しています。これは、フォーム入力から完全なオブジェクト (保存する準備ができている) を取得するために、複雑なオブジェクト構造をフォームにマップするための非常に快適な方法を提供します。

今フォームに追加したい要素は、可能なプロトコルのリストを表す必要があります。idデータベースでは、列とオブジェクトの構造を持つ単純なテーブルでnameあり、オブジェクトの構造は のように記述できますEndpoint has Protocol[]。(s. 以下)を定義しましたが、この要素をプロトタイプMultiCheckboxにバインドする方法がわかりません。Protocola の場合、Fieldset経由で機能しFieldset\setObject(...)ます。

Zend\Formチェックボックスからオブジェクトを作成するフォーム処理メカニズムを取得するには?


これまでのコード:

EndpointFieldset.php

myform.phml


アップデート

新しいエントリを保存するための回避策を見つけました。フォームによって提供されたオブジェクトを手動で完成させProtocol、値からオブジェクトを作成するだけMultiCheckBoxです。しかし、(既存のエントリを編集するために) 完全なオブジェクトを更新フォームに渡すと、通知が表示され、チェックボックスが構築されません。

注意: クラス My\DataObject\Protocol のオブジェクトは、202 行目の /var/www/path/to/project/vendor/zendframework/zend-form/src/View/Helper/FormMultiCheckbox.php で int に変換できませんでした

これについての私の解釈は、 はMultiCheckBoxプリミティブ型として値を持つ配列を期待するということです (例: int)。代わりに、Protocolオブジェクトを含む配列を取得し、その値をin_array(...)-- に使用しようとしますが、これは機能しません。

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

zend-framework2 - ZF2でフォーム要素をカスタム要素に置き換える方法は?

MultipleCheckboxリストのチェックボックスが選択されていない場合、フォームの検証が失敗するという問題、特に問題に苦しんでいます。(詳細はこちら

Zend\Form\Element\Checkboxこの問題を回避するには、メソッドをオーバーライドするカスタムのものに置き換えたいgetInputSpecification():

Checkbox.php

module.config.php

しかし、私のカスタムCheckboxクラスは Zend の on を置き換えていません。完全に無視されているわけではありません。Xdebug を使用すると、場合によっては使用されることがわかります(RadioButton要素や単一Checkbox要素など)。しかし、他の場合(特に my のチェックボックスの場合MultiCheckbox)はそうではありません。

私は何を間違っていますか?Zend\Form\Elementアプリケーション全体の a を置き換える方法は?

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

zend-framework2 - zf2 フォーム無効選択オプション

select 要素のオプションを無効にすることは可能ですか?

デフォルトで多くのオプションが利用可能な select 要素を持つフォームがあります。フォームの作成中に、データベースから取得した情報に応じて、特定のオプションを無効にしたいと考えています。

いくつかの調査 $form->get('selectElement')->setAttribute("disabled", array(0, 1, 2)); では、最初の 3 つのオプションを無効にする必要がありますが、残念ながらそうではありません。

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

forms - Zend Framework 2 でフォーム プレビュー ページを実装する方法は?

私の現在の ZF2 プロジェクトでは、バックグラウンドで保存されるオブジェクトの構造を反映する、Form複数レベルのネストされたs を持つ複合体があります。Fieldset現在、データは に直接送信され、Controller有効な場合はデータベースに保存されます。

ここで、中間ステップを実装する必要があります。ユーザーは、入力データがデータベースに保存される前にチェックする機会を得る必要があります。彼が正しいと判断した場合は、フォーム データを送信してデータベースに保存する必要があります。ユーザーがフォームを編集する必要があると判断した場合、ユーザーはフォームに戻って修正できるはずです。(もちろん、ユーザーがフォームに満足して送信するまで、すべてループします。)

つまり、プレビュー ページが必要です。この page/actionは、データを取得し、何らかの方法で (テーブルとして、またはしかし) 表示する必要があります。Formデータは一時的にどこかに保存され、オブジェクトに「ハイドレート」されて保存される準備ができている必要があります。ユーザーがフォームを更新したい場合は、フォームを復元する必要があります。

この要件をどのように実装できますか?

アップデート

サーバー側のソリューションを探しています。プレビューは、同じページ上の JavaScript/クライアント側で生成された HTML ではなく、新しいページである必要があります (追跡およびその他の目的のため)。

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

zend-framework2 - ZF2で一意のフォームにフィールドを複数回注入する方法は?

Fieldset私はいくつかの入れ子になったs とsを持つかなり複雑なフォームを持っていCollectionます。フォームの一部は一定で、他の部分は可変です。

BasicSettings EndpointBasicSource (定数部分) EndpointBasicTarget (定数部分) SpecificSettings EndpointType{TYPE}Source (変数部分) EndpointType{TYPE}Target (変数部分)

EndpointBasicSourceとには、 を提供する がEndpointBasicTarget含まれています。つまり、フォームには少なくともs が含まれています。ServerFieldsetField server_name2 server_name Field

いいえ、片側、または両側に応じSpecificSettingsて、最大 までのサーバーを含むサーバー( ) を含めることができます。EndpintTypeCollectionoptions.target_element.type => ServerFieldset5

以下は、非常に単純化されたスキーマです。

ここに画像の説明を入力

これで、サーバーは一意になるはずです (server_nameフォームのすべてのフィールドで、値が繰り返されない場合があります)。しかし、これを行う方法は?問題は、 が他の複数のs/ServerFieldsetを介して注入され、一意性の検証がそれらすべてのに関連付けられる必要があることです。FieldsetCollectionserver_name Field

この問題を解決し、フォーム全体の一意性検証をserver_name実装するにはどうすればよいでしょうか?

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

zend-framework2 - ZF2.4 ファイル入力 RenameUpload

を実装するフィールドセットを持っているInputFilterProviderInterfaceので、機能がありますgetInputFilterSpecification。この__construct()関数は、次のようにファイル要素 (「ロゴ」) を追加しています。

関数に RenameUpload 入力フィルターを追加するにはgetInputFilterSpecificationどうすればよいですか?

次のいくつかのバリエーションを試しましたが、成功しませんでした。

FileRenameUpload フィルタ ( ) を追加するにはどうすればよいZend\Filter\File\RenameUploadですか?

[編集]

配列を次のように変更しました。

これは機能しているように見えますが、現在このメッセージが表示されています-

ファイル 'C:\xampp\tmp\phpDA68.tmp' の名前を変更できませんでした。ファイルの処理中にエラーが発生しました。

どのようなエラーが発生した可能性がありますか? どうすれば修正できますか?

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

zend-framework2 - 詳細の配列ではなく、ファイル名のみを返すためのファイル入力の getdata

ファイルアップロードフィールドを含むフィールドセットを持つフォームがあります。var_dumponを実行する$form->getData()と、ファイル フィールドのデータの配列が表示されます。

を呼び出したときに要素が名前のみを返すようにするにはどうすればよいgetDataですか?

例えば

私は他の目的でフォームを使用しており、すでにオーバーライドgetDataしているため、回答をフィールドセットに保持したいと考えています。

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

zend-framework2 - フィールドセットにクラスを追加するには?

次の要素が追加されたZF2のフォームがあります。

私のビュースクリプトには、次の行があります。

次のhtmlを生成しています:

フィールドセットにクラスを追加するにはどうすればよいですか?

以下をoptions配列、attributes配列、およびメイン配列のオプションとして追加しようとしましたが、フィールドセットにクラスを追加していません。

[編集]

コード ( \Zend\Form\View\Helper\FormRow::render) を調べると、次のことがわかりました。

つまり、フィールドセット (または必要に応じて凡例) にクラスを追加する唯一の方法は、ビュー ヘルパーを拡張することです。

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

php - stream_resolve_include_path が false を返す?

を実装しているフィールドセットがありますInputFilterProviderInterface。私のgetInputFilterSpecification関数は次のようになります。

ご想像のとおり、ファイルのアップロードを拡張子で検証しようとしています。

私の問題は、バリデーターがエラーメッセージを出していることです

ファイルが読み取れないか、存在しません

Extensionクラスを調べると、問題の原因となっている関数が見つかりました: stream_resolve_include_path($file). 次var_dump $fileの出力を取得すると:

C:\Windows\Temp\php6BE7.tmp

だから...なぜstream_resolve_include_pathこのパスを解決できないのですか? どうすれば修正できますか?

これは現在、Windows 仮想マシンで実行されています。これは問題の一部ですか?つまり、上記の機能は互換性のあるオペレーティング システムでのみ動作しますか?