ホームページ  >  記事  >  バックエンド開発  >  yii フレームワークのフォームモデルを使用し、フォームデータを配列で送信する例 form_PHP チュートリアル

yii フレームワークのフォームモデルを使用し、フォームデータを配列で送信する例 form_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:31:33783ブラウズ

Yii ドキュメントの説明によると、Yii がフォームを処理する一般的なプロセスは次のとおりです:

フォームに対応するモデルクラスを作成し、フィールドの検証ルールを設定する
フォームの送信に対応するアクションを作成し、送信されたコンテンツを処理する
ビューにフォームを作成する
今の小さなプロジェクトで、ajaxを使いたいフォーム情報を送信して検証して保存するには、非更新の送信に非表示の iframe を使用したくありません。また、モデルクラスの検証メソッドがアクションで使用できるため、フォーム配列を使用することを考えました。送信方法、例:

フォームコード:

コードをコピー コードは次のとおりです:







送信後、$_POST['arr'] を直接使用して送信されたデータを取得できます:
コードをコピー コードは次のとおりです:

Array
(
[0] => a
[1] => b
[2] => c
)

同様に、次のフォームを使用して送信します:
コードをコピーします コードは次のとおりです:






$_POST['arr'] は:

Array
(
[3] => a
[6] => b
[8] => c
)


もちろん、2 次元配列を送信することもできます:
コードをコピーします コードは次のとおりです:






$_POST['arr'] は:


配列
(
[0] => 配列
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

ここで問題が発生します。最初のサブ配列のキーを設定しないと、配列の生成時に各値が順番に arr に追加されます。配列に情報を保存したい場合は、キーの値を追加するだけです。 、次のように:



コードをコピー

コードは次のとおりです:








$ _POST['arr'] は: 配列





以下に掲載されているのは、Ajax を使用してフォームを送信し、Yii フォーム モデルを使用して検証する例です。最初は、最も単純な検証メソッドのみを備えたモデル クラス部分です。



コードをコピーします

コードは次のとおりです:


class LandingForm extends CFormModel
{

public $landing_title;

public $landing_content;

public $landing_position;

F Pualic 関数 () {

RETURN Array ( Array ('LANDING_TITLE, LANDING_CONTENT', 'Required'), Array ('LANDING_POSITION', 'Default' , 'Value' = & gt; ''), ); }}


パラメータの検証方法を設定する際、ルールが設定されていないパラメータがある場合、モデルクラスはフォーム値を使用してモデルに値を代入した後、ルールを設定する必要があります。 $_POSTでは、未設定のルールのパラメータ値は空になります

動作中のフォームによって送信されたパラメータを取得して確認します:


コードをコピーします

コードは次のとおりです:


$model = new LandingForm;
$model->attributes = $_POST['form'];
if($model->validate( )){

$info = $model->属性; ...

}

最後は、jqueryを使用したフロントエンド送信フォームのコードです:

コードをコピーします
コードは次のとおりです:


var info = new Object();
info = { 'form[landing_title]': landing_title,
'form[landing_content]': landing_content,
'フォーム[着陸位置 ]': 着陸位置,
};
var url = "...";

$.post(url, info, function(rst){

});

http://www.bkjia.com/PHPjc/763016.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/763016.html

技術記事

Yii ドキュメントの説明によると、Yii がフォームを処理する一般的なプロセスは次のとおりです。フォームに対応するモデルクラスを作成し、フィールド検証ルールを設定し、フォームの送信に対応するアクションを作成し、送信されたコンテンツを処理します。 .

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。