問題タブ [zend-form-fieldset]
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.
zend-framework - ZF2 と Doctrine2 を使用したフォームの再帰コード用の複数の要素を持つ fieldset
ZF2 と Doctrine2 は初めてです。
フォームで繰り返される同様の要素にフィールドセットを使用できますか? 同じ形に似た要素がいくつかあるかもしれませんし、似た形はたくさんあります。
これらの要素はエンティティの通常のフィールドにマップされ (1 対多または多対 1 のリレーションシップではありません)、同じエンティティにさらにフィールドがあります。
可能であれば、そのようなフィールドセットのオブジェクトを設定するにはどうすればよいですか?
次のエラーが表示されます。
これが私がこれまでに試したことです:
工場の例
フィールドセットの例
エンティティの例:
フォームの例:
BaseCompetencyForm :
zend-framework2 - ZF2で一意のフォームにフィールドを複数回注入する方法は?
Fieldset
私はいくつかの入れ子になったs とsを持つかなり複雑なフォームを持っていCollection
ます。フォームの一部は一定で、他の部分は可変です。
BasicSettings EndpointBasicSource (定数部分) EndpointBasicTarget (定数部分) SpecificSettings EndpointType{TYPE}Source (変数部分) EndpointType{TYPE}Target (変数部分)
EndpointBasicSource
とには、 を提供する がEndpointBasicTarget
含まれています。つまり、フォームには少なくともs が含まれています。ServerFieldset
Field
server_name
2
server_name
Field
いいえ、片側、または両側に応じSpecificSettings
て、最大 までのサーバーを含むサーバー( ) を含めることができます。EndpintType
Collection
options.target_element.type => ServerFieldset
5
以下は、非常に単純化されたスキーマです。
これで、サーバーは一意になるはずです (server_name
フォームのすべてのフィールドで、値が繰り返されない場合があります)。しかし、これを行う方法は?問題は、 が他の複数のs/ServerFieldset
を介して注入され、一意性の検証がそれらすべてのに関連付けられる必要があることです。Fieldset
Collection
server_name
Field
この問題を解決し、フォーム全体の一意性検証をserver_name
実装するにはどうすればよいでしょうか?
validation - ZF2のフォームレベルで検証を追加する正しい方法は何ですか?
多くのネストされたフィールドセットを持つ複雑なフォームがあります。別のフィールドセットのフィールド (-s) に応じて、一部のフィールドを検証する必要があります。したがって、他のフィールドセット (サブフィールドセットのみ) にアクセスできないため、すべてgetInputFilterSpecification()
の検証ルールを で直接定義することはできません。Fieldset
これを行う唯一の方法は、Form
検証を拡張することです。右?もしそうなら、これを行う方法は?
このような?または、この問題を解決するためのよりクリーンな方法はありますか?
zend-framework2 - Zend Framework 2 の Fieldset 子クラスで要素の型を設定するには?
Fieldset
私は2つの非常によく似たMyFooFieldset
とを持っていMyBarFieldset
ます。コードの重複を避けるために、 を作成し、コード全体をそこに移動して、具体的なクラスのメソッドのAbstractMyFieldset
違いを処理したいと考えています。init()
AbstractMyFooFieldset
MyFooServerFieldset
および属性などtype
、要素の およびその他の構成を設定したいと考えています。属性の設定は問題ないようです。少なくとも属性を設定できます。しかし、タイプを設定できません -- がありません。type
required
required
Element#setType(...)
編集された後、type
のを設定する方法は?Zend\Form\Element
add
php - zf2/zf3 オブジェクトで複数のフィールドセットをハイドレートする
問題: $form->bind($object) を使用すると、フォーム内の複数のフィールドセットが入力/水和されません。2 つの異なるエンティティ オブジェクトを使用して、2 つの異なるフィールドセットをフォームに入力するにはどうすればよいですか? 私は2つのフィールドセットを持っています:FieldsetA、FieldsetB
フォーム RegisterFrom は、その init() メソッドでこれらを呼び出します
フィールドセットの作成: (コメントアウトされたハイドレーションの試みに注意してください)
コントローラ:
意見:
フォームはビューに正しく表示されますが、データが入力されていません。
注: Doctrine は使用しませんが、DB からデータを取得します。注: このフラグを 'use_as_base_fieldset' => trueに設定すると、オブジェクト (ServiceProvider) の 1 つが入力されます。ロケーション フィールドを 'true' に設定すると、その逆になります。私は数時間、試行錯誤して成功していませんでした.
概要: フォーム内に 2 つ以上のエンティティを含む 2 つ以上のフィールドセットをどのように入力しますか? Bind(), フィールドセット->bindValues()?,
試した:
これらはいくつかのリンクですが、別々のエンティティを介して両方のフィールド セットにデータを入力することはできません。 複数のオブジェクトとフィールドセットを使用した ZF2 フォーム ハイドレーション https://framework.zend.com/manual/2.4/en/modules/zend.form.collections.html フィールドセット ZF2 から複数のオブジェクトをハイドレートする
コレクション (製品/ブランド/カテゴリ) の例は、'use_as_base_fieldset' => trueを使用した '単一' コレクションを意味し、 bind() に使用されます...?
zend-framework2 - Zend Framework 2でラジオボタン要素の選択されたオプションを取得するには?
aFieldset
には と がElement\Radio
foo
ありElement\Text
bar
ます。
フィールドの検証はbar
、選択したfoo
オプションによって異なります。の選択した値を取得できれば、実装は簡単ですfoo
。
しかし、方法はありませんRadio#getCheckedValue()
。を繰り返し処理することはできますが $this->get('foo')->getOptions()['value_options']
、それが本当に唯一の方法なのでしょうか?
Fieldset#getInputFilterSpecification()
の選択されたオプションを(で)取得する方法はZend\Form\Element\Radio
?
zend-framework2 - ZF2 ネストされたデータの検証
私は自分の検証を機能させようとしています。次のような形式でコントローラーに投稿されたデータがあります。
フィールド/フィルターとフォームを異なるクラスに分割し、フォームのコントローラーにまとめて次のようにします。
しかし、それは正しく動作しません。ネストされた配列を無視する (またはすべてを無視する) ようです。私は何を逃したのですか?
ありがとうございました。