Yii ドキュメントの説明によると、Yii がフォームを処理する一般的なプロセスは次のとおりです:
先ほどの小さなプロジェクトで、ajax を使用してフォーム情報を送信し、それを検証して保存したいと思いましたが、非更新の送信に非表示の iframe を使用したくなかったので、モデル クラスの検証メソッドを次のようにすることができます。アクションで使用されるため、フォーム配列を使用して送信することを考えました。例:
フォームコード:
リーリー送信後、$_POST['arr'] を直接使用して、送信されたデータを取得できます。
リーリー同様に、次のフォームを使用して送信する場合:
リーリー$_POST['arr'] は:
リーリーもちろん、2次元配列を送信することもできます:
リーリー$_POST['arr'] は:
リーリーここで問題が発生します。最初のサブ配列のキーを設定しないと、配列の生成時に各値が順番に arr に追加されます。配列に情報を保存したい場合は、キーの値を追加するだけです。 、次のように:
リーリー$_POST['arr'] は:
リーリー
以下に掲載されているのは、Ajax を使用してフォームを送信し、Yii フォーム モデルを使用して検証する例です。最初は、最も単純な検証メソッドのみを備えたモデル クラス部分です。 リーリー
パラメータの検証方法を設定する際、ルールが設定されていないパラメータがある場合、モデルクラスはフォーム値を使用してモデルに値を代入した後、ルールを設定する必要があります。 $_POSTでは、未設定のルールのパラメータ値は空になります動作中のフォームによって送信されたパラメータを取得して確認します:
リーリー
最後は、jqueryを使用したフロントエンド送信フォームのコードです:リーリー