Home Backend Development PHP Tutorial Zend_Form component implements form submission and displays error prompts

Zend_Form component implements form submission and displays error prompts

Jun 07, 2018 pm 01:34 PM
framework zend form submission

This article mainly introduces the method of Zend_Form component to implement form submission and display error prompts. It analyzes in detail the usage method of Zend_Form component and the specific steps to implement form submission based on the example form. Friends in need can refer to the following

The example in this article describes how the Zend_Form component of the Zend Framework tutorial implements form submission and displays error prompts. Share it with everyone for your reference, the details are as follows:

At the same time, the company wants to develop a group function.. I also want to use Zend_Form to realize the function of creating groups. The main thing is that Zend_Form can be used in writing When forming, the server-side verification function is implemented, which saves us from verifying it again when submitting the data to the database. So, I read the manual on this aspect and found the relevant instructions through the Zend Framework manual. ..The simplest way to use it is to write a ready-made Action in the controller (Controller), so that...you can use this Action directly in this controller...The code can be as follows:

<?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));
}
?>
Copy after login

Of course .. I can also write this Form as a class... and store it in a common directory of forms. This will make it easier for us to manage all our Form forms.. My implementation method is to put it in the same directory as the Controller. ) in the same level directory... This is also convenient for management. Of course, different friends have different ideas... Another way... is to write it as View Helper... This way can be implemented ,, is also very convenient... I don’t want to write more here... Zend Framework is very convenient to implement... As long as you can think of it... no matter how you complete your task, it is possible... I won't say much else here...I just want to talk about how to make Zend_Form realize the Chinese prompt information function...I have two methods here...

First: The stupid way is : If your website does not want to be a multi-language website...and if your Zend Framework version is not changed frequently...you can find the source code of the relevant prompt information...change the prompt to Chinese.

This stupid method... There is really no other way... Haha...

Second: I also saw a better way on the English site... which is to rewrite this Prompt message. Change it to the language we want... In this way... Even if we change the language... or the version of Zend Framework...

, it will not have a great impact on us ...We just need to change the form of our Form and it will be done. The code for this method is as follows (I only wrote the email prompt information here. Don't write more other things):

<?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;,
))); 
?>
Copy after login

Here.. The Zend_Form component also has a more important function.. It is Zend_Form_Decorator.. It is called a decorator in the manual, which means that you can write the decorator you want. For example, you need to Your Form is included in Table... How do we implement it? At this time... we have to use decorators such as HtmlTag and Label to achieve the functions we want... This is a relatively important concept. .. Friends who are interested can go and take a look... Because if you want to use the Zend_Form component... it will be difficult to use it if you don't know the decorator... so you must know this thing... before you can create it. The form function I want... In the end... it's just a little use of decorators

I just implement a small function... The code is as follows:

<?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;);
?>
Copy after login

Haha... roughly This is the application... Finally... it is to verify the submitted data... See how to verify the data submitted by the user... I won't say much here... OK...

Related recommendations:

thinkphp multi-table query two tables have the perfect solution to duplicate the same fields

##

The above is the detailed content of Zend_Form component implements form submission and displays error prompts. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1663
14
PHP Tutorial
1263
29
C# Tutorial
1237
24
How to set up jump on layui login page How to set up jump on layui login page Apr 04, 2024 am 03:12 AM

Layui login page jump setting steps: Add jump code: Add judgment in the login form submit button click event, and jump to the specified page through window.location.href after successful login. Modify the form configuration: add a hidden input field to the form element of lay-filter="login", with the name "redirect" and the value being the target page address.

How to get form data in layui How to get form data in layui Apr 04, 2024 am 03:39 AM

layui provides a variety of methods for obtaining form data, including directly obtaining all field data of the form, obtaining the value of a single form element, using the formAPI.getVal() method to obtain the specified field value, serializing the form data and using it as an AJAX request parameter, and listening Form submission event gets data.

How to implement front-end and back-end interaction in layui How to implement front-end and back-end interaction in layui Apr 01, 2024 pm 11:33 PM

There are the following methods for front-end and back-end interaction using layui: $.ajax method: Simplify asynchronous HTTP requests. Custom request object: allows sending custom requests. Form control: handles form submission and data validation. Upload control: easily implement file upload.

The difference between event and $event in vue The difference between event and $event in vue May 08, 2024 pm 04:42 PM

In Vue.js, event is a native JavaScript event triggered by the browser, while $event is a Vue-specific abstract event object used in Vue components. It is generally more convenient to use $event because it is formatted and enhanced to support data binding. Use event when you need to access specific functionality of the native event object.

How to build a single-page application using PHP How to build a single-page application using PHP May 04, 2024 pm 06:21 PM

Steps to build a single-page application (SPA) using PHP: Create a PHP file and load Vue.js. Define a Vue instance and create an HTML interface containing text input and output text. Create a JavaScript framework file containing Vue components. Include JavaScript framework files into PHP files.

What is the role of Serverlet in Java What is the role of Serverlet in Java Apr 12, 2024 pm 02:39 PM

Servlet serves as a bridge for client-server communication in Java Web applications and is responsible for: processing client requests; generating HTTP responses; dynamically generating Web content; responding to customer interactions; managing HTTP session state; and providing security protection.

What is the abbreviation of dom in js? What is the abbreviation of dom in js? May 09, 2024 am 12:00 AM

DOM (Document Object Model) is an API for accessing, manipulating and modifying the tree structure of HTML/XML documents. It represents the document as a node hierarchy, including Document, Element, Text and Attribute nodes, which can be used to: access and modify Document structure Access and modify element styles Create/modify HTML content in response to user interaction

How to use form tag in html How to use form tag in html Apr 27, 2024 pm 09:34 PM

The form tag is used to create a form that allows users to enter data and submit it to server-side processing. Attributes include action (handler URL), method (submission method), name (form name), target (submission target), enctype (data encoding method). Form elements include text boxes, drop-down lists, text areas, buttons, etc. Submitting the form will send the data to the server via the specified method and URL.

See all articles