ホームページ > バックエンド開発 > PHPチュートリアル > Zend_Form コンポーネントはフォーム送信を実装し、エラー プロンプトを表示します

Zend_Form コンポーネントはフォーム送信を実装し、エラー プロンプトを表示します

不言
リリース: 2023-03-30 12:42:01
オリジナル
1512 人が閲覧しました

この記事では、Zend_Form コンポーネントを使用してフォーム送信を実装し、エラー プロンプトを表示する方法を主に紹介します。Zend_Form コンポーネントの使用方法と、サンプル フォームに基づいてフォーム送信を実装するための具体的な手順を詳細に分析します。次の

この記事の例では、Zend Framework チュートリアルの Zend_Form コンポーネントがフォーム送信を実装し、エラー プロンプトを表示する方法について説明します。参考として皆さんに共有してください。詳細は次のとおりです。

同時に、会社はグループ機能を開発したいと考えています。また、Zend_Form を使用してグループを作成する機能を実現したいと考えています。主なことは、Zend_Form を書き込みで使用できることです。形成時に、サーバー側の検証機能が実装されるため、データをデータベースに送信するときに再度検証する必要がなくなります。そこで、この点に関するマニュアルを読んで、関連する手順を見つけました。 Zend Framework マニュアルを参照してください。これを使用する最も簡単な方法は、コントローラ (Controller) に既成のアクションを記述することです。これにより、このアクションをこのコントローラで直接使用できるようになります。コードは次のようになります。次のように:

<?php
public function formAction() {
$form=new Zend_Form();
$form->setName(&#39;group&#39;);
$title = new Zend_Form_Element_Select(&#39;title&#39;);
$title ->setLabel(&#39;性别&#39;) ->setMultiOptions(array(&#39;mr&#39;=>&#39;Mr&#39;, &#39;mrs&#39;=>&#39;Mrs&#39;)) ->setRequired(true) ->addValidator(&#39;NotEmpty&#39;, true);
$yourName = new Zend_Form_Element_Text(&#39;firstName&#39;);
$yourName->setLabel(&#39;姓名&#39;) ->setRequired(true) ->addValidator(&#39;NotEmpty&#39;, true) ;
$email = new Zend_Form_Element_Text(&#39;email&#39;);
$email->setLabel(&#39;电子邮件地址&#39;) ->addFilter(&#39;StringToLower&#39;) ->setRequired(false) ->addValidator(&#39;NotEmpty&#39;);
$submit = new Zend_Form_Element_Submit(&#39;submit&#39;);
$submit->setLabel(&#39;group&#39;);
$form->addElements(array($title, $yourName,$email,$submit));
}
?>
ログイン後にコピー

もちろん .. このフォームをクラスとして記述して、フォームの共通ディレクトリに保存することもできます。これにより、すべてのフォーム フォームの管理が容易になります。私の実装方法は、Controller と同じディレクトリに配置することです。これは管理上も便利です。もちろん、友達によって考え方も異なります。 View Helperとして書いてください... この方法でも実装できます、、これも非常に便利です... ここでは詳しく書きたくない... Zend Frameworkは実装するのに非常に便利です... 思いつく限りそれについて...タスクをどのように完了しても、それは可能です...ここではこれ以上多くは言いません...私が話したいのは、Zend_Form に中国語のプロンプト情報機能を実現させる方法についてです...私はここには 2 つの方法があります...

最初: 愚かな方法は次のとおりです。Web サイトを多言語 Web サイトにしたくない場合...そして、Zend Framework のバージョンが頻繁に変更されない場合...関連するプロンプト情報のソース コードを見つけることができます...プロンプトを中国語に変更します。

この愚かな方法...本当に他に方法はありません...はは...

2 番目: 英語のサイトでもっと良い方法も見つけました... このプロンプト メッセージを必要な言語に変更します... この方法で... 言語を変更したとしても... またはZend Framework のバージョン...

、大きな影響はありません...フォームの形式を変更するだけで完了します。このメソッドのコードは次のとおりです。ここでは電子メールのプロンプト情報のみを書きました。他のことは書かないでください):

<?php
$email = new Zend_Form_Element_Text(&#39;email&#39;);
$email->setLabel(&#39;电子邮件地址&#39;) ->addFilter(&#39;StringToLower&#39;) ->setRequired(false) ->addValidator(&#39;NotEmpty&#39;) ->addValidator(&#39;EmailAddress&#39;,true,array(&#39;messages&#39; => array( 
&#39;emailAddressInvalid&#39; => &#39;这不是一个可用的电子邮件!&#39;, 
&#39;emailAddressInvalidHostname&#39; => &#39;这不是一个有效的主机名!&#39;, 
&#39;emailAddressInvalidMxRecord&#39; => &#39;这不是一个有效的电子邮件地址!&#39;, 
&#39;emailAddressDotAtom&#39; => &#39;这不是一个有效的电子邮件地址!&#39;, 
&#39;emailAddressQuotedString&#39; => &#39;这不是一个有效的电子邮件地址!&#39;, 
&#39;emailAddressInvalidLocalPart&#39; => &#39;这不是一个有效的电子邮件地址!&#39;,
))); 
?>
ログイン後にコピー

Here.. Zend_Form コンポーネントには、さらに重要な機能もあります。それは Zend_Form_Decorator です。これは、 ではデコレータと呼ばれます。これは、必要なデコレータを記述することができることを意味します。たとえば、フォームをテーブルに含める必要があります...どうやって実装するのでしょうか?現時点では、HtmlTag や HtmlTag などのデコレータを使用する必要があります。必要な機能を実現するためのラベル...これは比較的重要な概念です...興味のある友人は見に行ってください...Zend_Formコンポーネントを使用したい場合は...使いにくいためです。デコレータを知らない場合は、これを知っておく必要があります...作成する前に、必要なフォーム関数...結局のところ...デコレータを少し使用するだけです

小さな関数を実装するだけです... コードは次のとおりです:

<?php
$email = new Zend_Form_Element_Text(&#39;email&#39;);
$email->setLabel(&#39;电子邮件地址&#39;) ->addFilter(&#39;StringToLower&#39;) ->setRequired(false) //利用装饰器来增加td标签
->addDecorator(&#39;HtmlTag&#39;, array(&#39;tag&#39; => &#39;td&#39;)) ->addDecorator(&#39;Label&#39;, array(&#39;tag&#39; => &#39;td&#39;)) //重复利用HtmlTag装饰器来增加tr标签
->addDecorator(array(&#39;FooTr&#39; => &#39;HtmlTag&#39;), array(&#39;tag&#39; => &#39;tr&#39;)) ->addValidator(&#39;NotEmpty&#39;);
?>
ログイン後にコピー

はは... おおよそこれがアプリケーションです... 最後に... 送信されたデータを検証することです。 .. ユーザーが送信したデータを検証する方法を参照してください... ここでは多くは言いません... OK...

関連する推奨事項:

thinkphp multi-テーブル クエリ 2 つのテーブルには、同じフィールドを複製するための完璧なソリューションがあります

##

以上がZend_Form コンポーネントはフォーム送信を実装し、エラー プロンプトを表示しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート