Yii ドキュメントの説明によると、Yii がフォームを処理する一般的なプロセスは次のとおりです。 フォームに対応するモデルクラスを作成し、フィールド検証ルールを設定する フォーム送信に対応するアクションを作成し、送信されたコンテンツを処理します ビューでフォームを作成する 先ほどの小規模なプロジェクトで、ajaxを使用してフォーム情報を送信し、検証して保存したいと考えていましたが、非リフレッシュ送信に非表示のiframeを使用したくなく、モデルクラスの検証メソッドが使用できました。そこで、フォーム配列の送信メソッドを使用することを考えました。 フォームコードの例:
送信後、$_POST['arr'] を直接使用して、送信されたデータを取得できます。 配列 ( [0] => a [1] => b [2] => c ) 同様に、次のフォームを使用して送信する場合:
$_POST['arr'] を次のようにコピーします。 配列 ( [3] => a [6] => b [8] => c ) もちろん、2次元配列を送信することもできます。 $_POST['arr'] は: 配列 ( [0] => 配列 ( [名前1] => a ) [1] => 配列 ( [名前2] => b ) [2] => 配列 ( [名前3] => c ) ) ここで問題が発生します。最初のサブ配列のキーを設定しない場合、配列の生成時に各値が順番に arr に追加されます。配列に情報を保存したい場合は、キー値を追加するだけです。次のように:
$_POST['arr'] は次のとおりです: 配列 ( [a] => 配列 ( [名前1] => a1 [値1] => a2 ) => 配列 ( [名前2] => b1 [値2] => b2 ) ) ajax を使用してフォームを送信し、yii フォーム モデルを使用して検証する例。最初は、最も単純な検証メソッドのみを備えたモデル クラス部分です。
モデルクラスは設定されていますパラメータメソッドを検証する際、各パブリックパラメータにルールを設定する必要があります。ルールが設定されていないパラメータがある場合は、$_POSTのフォーム値を使用してモデルに値を割り当てた後、ルールが設定されていないパラメータ値が適用されます。空の。 アクション内のフォームによって送信されたパラメーターを取得し、次のことを確認します。
最後は、jquery を使用したフロントエンド送信フォーム部分のコードです。
|