問題タブ [active-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.
javascript - Yii2 で Javascript を使用して非表示の入力フィールド セットインの値を取得する
非表示の入力フィールドが表示されていますActiveForm
以下に示すように、Javascriptを使用して値を設定しています。
アラートは、値がフィールドに正常に設定されたことを示します。今、私はその入力フィールドの値を次のようなphp変数に入れたいと思っています:
Yii2でそれを行うにはどうすればよいですか?
activerecord - Yii2 で関連する 2 つのモデルを更新すると、2 番目のモデルのデータが表示されない
hasToMany 関係に 2 つの関連モデルがあります。1 つ目はInvoices
で、2 つ目はInvoiceItems
です。プロトタイプ プロセスとして、 of で次のコードを使用して、 のupdate
ビューを通じて 2 つのモデルを結合しようとしています。InvoicesController
actionUpdate
InvoicesController
次の点をupdate
考慮してください。
最後に、次の点を_form
考慮します。
上記のコードは、データをinvoice_items
テーブルに保存することに成功しました。ただし、更新ビュー フォームにはInvoiceItems
モデル用の空のフィールドがあります。つまりitem_id
、保存後の更新フォームでは空ですunit_id
。qty
注意:これは最初のコードです。つまり、請求書に多くのアイテムを追加できるように後で作業しますが、今は請求書に関連する 1 つのアイテムを作成しようとしています。
php - Yii2で送信した後、コントローラーのActiveFormのテキスト入力から値を取得できません
Upload Form
私はカスタムモデルを作りましたModel
。私は yii2 のドキュメントに基づいてコピーを作成しましたUploadedFile
が、これまでのところ機能しているのは、アップロードされたファイルが .xml に保存されている場合ですweb/uploads
。という名前のパブリック プロパティを作成しました$storeList
。フォーム内の値を呼び出した後に$model->load((Yii::$app->request->post())
割り当てられることを期待していまし$model->storeList
たが、変数は空です。誰かが私がどこで間違っているか教えてもらえますか?
構造はこのようになります。index.php
が最初に読み込まれselect_package.php
、レンダリングするタブを持つものが含まれますupload.php
。
index.php:
select_package.php:
UploadPackageController.php:
UploadForm.php:
アップロード.php
php - yii2 モデル フィールドなしでボタンを作成する
ホームページにログインと登録の 2 つのボタンが必要です。ユーザーがログインボタンをクリックすると、LoginView をレンダリングする必要がありますが、登録ボタンには RegisterView があります。これらの質問が表示されますが、モデル (動的モデル) にもフィールドがあります。
モデルフィールドを使用したくありません。クリックイベントで別のビューを別のボタンにレンダリングしたいだけです。言い換えれば、クリック イベントで特定のコントローラーのアクションを呼び出すようにボタンを設定するにはどうすればよいでしょうか。
Yii2 フレームワークでこれを行う方法。
validation - ActiveForm を介して割り当てられたラベルからの Yii2 モデル検証メッセージ
経由で割り当てられた属性のラベルで検証を求める方法はありますActiveForm
か?
たとえば、モデル属性がamount
あり、そのattributeLabels
関数で定義されたラベルは「金額」ですが
、フォームの生成中に「料金」というラベルが必要です。
$form->field($model, 'amount')->textInput(['maxlength' => true])->label('Fees')
検証後、「金額を空白にすることはできません」というプロンプトが表示されます。メッセージを変更するルールを作成できますが、私の要件によれば、(同じモデルの) 同じ属性が異なるフォームで異なるラベルを持っています。
デフォルト メッセージのバックエンド実装が使用することは知っています。ActiveForm で割り当てられたラベルを取得できるものがある
'message' => '{attribute} cannot be blank.'
かどうかは誰にもわかりませんか?{x}
PS: この問題はシナリオによって解決できることを知っています。しかし、二重ラベルを持つフィールドごとにルールを作成するのは大変です。