問題タブ [yii-cform]

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 に答える
1782 参照

php - yii: フォーム ビルダーを使用して無害なフォームを表示しようとしているだけです

form builder を使用してフォームを表示しようとしていますが、フィールドが表示されません..これはコードです:

register.php

RegisterForm.php

MyController.php

編集1:

RegisterForm.php にルールがありませんでした。

だから、ルールは必須ですか?とにかく、フィールドを別々に表示することにも興味があるので、これを試しました:

しかし、私はこのエラーが発生しています:

編集2:

dInGd0nG のコメントの後:

ハビエル

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

php - Yii-getActiveFormWidget()がコアで間違ったタイプを返しますか?

AJAX以外の登録フォームを作成しようとしています。

CFormを介して送信すると、PHPはerror()が非オブジェクトで呼び出されていると言います。エラーが発生したソースファイルを確認したところ、(を使用してvar_dump(get_class($parent->getActiveFormWidget()));)getActiveFormWidget()が、CFormInputElementerror()が定義されていないを返すことがわかりました。

これはCForm::activeFormに関係していると思いましたが、デフォルトではCActiveForm

やってみ'enableAjaxValidation'=>falseました。

何がわからないの?途中で何かを誤解したのではないかと思います。

CFormInputElement :: renderError():

モデル:

意見:

コントローラのアクション:

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

php - Yii フレームワークは、CFormModel クラスのルール関数でフィールドの配列を検証できますか

名前と呼ばれるモデルのプロパティにテキストフィールドを動的に追加していますが、ビューの配列名のすべての名前に検証ルールを設定したいのですが、CForm モデルで検証ルールを使用せずにこれを行うことは可能ですか?、たとえばボタンをクリックした後、すべての名前が必要になることを検証したいと思います。

これは、CActiveForm を使用したビューのコードです

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

yii - Yii - Cactiveform、cform、フォームビルダー - 混乱

これらは Yii の 3 つの概念であり、どのシナリオで何を使用すればよいかわかりません。

これらの Yii 要素を明確にしてくれる親切な人はいますか? また、どのような状況でそれらを使用する必要がありますか?

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

yii - Yii で CForm ドロップダウン名属性を変更する

私は Yii を使用していますが、いくつかのドロップダウンに少し問題があります。基本的に、コースのドロップダウン メニューを表示するために CForm を使用しています。学生は最大 2 つのコースを選択でき、各コースの選択について、学生は第 1 希望と第 2 希望を選択できます。各コースの選択肢をデータベースに個別に挿入する必要があります。たとえば、学生が 2 つのコースを勉強したいと考えており、1 番目と 2 番目の優先コースを希望する場合、次のように選択します。

  1. コース 1 - 第 1 優先
  2. コース 1 - 第 2 優先
  3. コース 2 - 第 1 優先
  4. コース 2 - 第 2 優先

これにより、データベースに 4 つの新しい行が追加されます。コースの管理者は、これをコースを含む 4 つのドロップダウン メニューとして表示することを望んでいます。

現時点では、コース 1 の 1 番目と 2 番目の優先度だけでテストしていますが、問題はコース 1 です。優先度 2 の値が選択されていない限り、優先度 1 は常に空です。次に、2 つの異なるコースが選択されていても、優先度 1 は優先度 2 と同じ値を取得します。CForm を使用してフォームを作成する Wizard Behavior を使用しているため、このチュートリアルForm Builderに従っています。

これまでのところ、「コース1」のみを扱っているコードは次のとおりです。

これは、コントローラーからの関連コードのスニペットです。

そして、ここにccFormのフォームのコードがあります

したがって、ID が 15 のコースと ID が 86 のコースの 2 つのコースを選択するとします。両方のドロップダウンを print_r() すると、次のようになります。

アップデート

これについてさらに調べてみたところ、firebug を見ると、両方のドロップダウンが同じ名前であることがわかりました。

したがって、2 番目のメニューは最初のメニューを上書きしています。しかし、どうすればこれを変更できますか?いずれかのサブフォームの CForm で 'course'=>array(.... を変更すると、該当するドロップダウンがレンダリングされません。フォームに 'name'=>'course1' を追加しようとしましたが、違いはありません。

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

yii - Yii CFrom によるウィジェットの使い方

コントローラーでインスタンス化される CForm があります。ここで、検証やその他の機能によっても、いくつかのウィジェットをその要素として使用する必要があります。誰がそれをするのですか?

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

php - Yii CForm フォームビルダーで画像を表示することはできますか?

CForm フォームビルダー配列で画像を表示する簡単な方法を探しています。しかし、次の例のように、モデルの内容を表示したいと思います。

それは可能ですか?

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

yii - yii でネストされたフォームを作成する

このリンクをたどって、登録フォームを作成し、フォームをテーブル「ユーザー」と「プロファイル」に接続しようとしています。私のコントローラーでは、次のように同じコードをコピーしました。

$form->submitted('register') が何のためにあるのか、なぜ false を返すのか、実際にはわかりません!

それが何であり、送信された関数に渡される「登録」値とは何ですか!? また、フォームの投稿中に false を返す必要があるのはなぜですか?