この記事では、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('group'); $title = new Zend_Form_Element_Select('title'); $title ->setLabel('性别') ->setMultiOptions(array('mr'=>'Mr', 'mrs'=>'Mrs')) ->setRequired(true) ->addValidator('NotEmpty', true); $yourName = new Zend_Form_Element_Text('firstName'); $yourName->setLabel('姓名') ->setRequired(true) ->addValidator('NotEmpty', true) ; $email = new Zend_Form_Element_Text('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('group'); $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('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty') ->addValidator('EmailAddress',true,array('messages' => array( 'emailAddressInvalid' => '这不是一个可用的电子邮件!', 'emailAddressInvalidHostname' => '这不是一个有效的主机名!', 'emailAddressInvalidMxRecord' => '这不是一个有效的电子邮件地址!', 'emailAddressDotAtom' => '这不是一个有效的电子邮件地址!', 'emailAddressQuotedString' => '这不是一个有效的电子邮件地址!', 'emailAddressInvalidLocalPart' => '这不是一个有效的电子邮件地址!', ))); ?>
Here.. Zend_Form コンポーネントには、さらに重要な機能もあります。それは Zend_Form_Decorator です。これは、 ではデコレータと呼ばれます。これは、必要なデコレータを記述することができることを意味します。たとえば、フォームをテーブルに含める必要があります...どうやって実装するのでしょうか?現時点では、HtmlTag や HtmlTag などのデコレータを使用する必要があります。必要な機能を実現するためのラベル...これは比較的重要な概念です...興味のある友人は見に行ってください...Zend_Formコンポーネントを使用したい場合は...使いにくいためです。デコレータを知らない場合は、これを知っておく必要があります...作成する前に、必要なフォーム関数...結局のところ...デコレータを少し使用するだけです
小さな関数を実装するだけです... コードは次のとおりです:
<?php $email = new Zend_Form_Element_Text('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) //利用装饰器来增加td标签 ->addDecorator('HtmlTag', array('tag' => 'td')) ->addDecorator('Label', array('tag' => 'td')) //重复利用HtmlTag装饰器来增加tr标签 ->addDecorator(array('FooTr' => 'HtmlTag'), array('tag' => 'tr')) ->addValidator('NotEmpty'); ?>
はは... おおよそこれがアプリケーションです... 最後に... 送信されたデータを検証することです。 .. ユーザーが送信したデータを検証する方法を参照してください... ここでは多くは言いません... OK...
関連する推奨事項:
thinkphp multi-テーブル クエリ 2 つのテーブルには、同じフィールドを複製するための完璧なソリューションがあります
##
以上がZend_Form コンポーネントはフォーム送信を実装し、エラー プロンプトを表示しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。