This article describes the example of Zend Framework tutorial's Zend_Form component that implements form submission and displays error prompts. method. 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 reason is that Zend_Form can realize the server-side verification function when writing the Form... saving us time. Verify it again when submitting the data to the database... So. I looked at the manual on this. I found the relevant instructions through the Zend Framework manual... The simplest way to use it is to use it 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('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)); } ?>
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.. The way I implement it is to put it in the same directory as In the same level directory of the Controller... This is also convenient for management. Of course, different friends have different ideas... Another way... is to write it as a View Helper... This method is very convenient to implement...I don't want to write more here...Zend Framework is very convenient to implement...as long as you think about it...no matter how you complete your task, you can ..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... Tips for changing to Chinese.
This stupid method...there is really no other way...hehe...
Second: I also saw it on the English site... A better way is to rewrite this prompt message. Change it into the language we want... In this way... even if we can Change the language..or change the version of Zend Framework..
The impact on us is not very big...We only 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..Others are not required. Write more):
<?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 we go. The Zend_Form component also has another important function. It is Zend_Form_Decorator. It is called a decorator in the manual, which means you can write the decorator you want. For example... you To include your Form with a 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...Here is a more important one The concept is here. Friends who are interested can go and take a look... Because if you want to use the Zend_Form component, it will be very difficult to use it if you don't know the decorator. So you must know this thing... Create the form function you want..Finally..a little use of decorators
I just implemented a small function...the following code:
<?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'); ?>
Haha... the general application is like this... Finally... it is to verify the submitted data... See how to verify the data submitted by the user... I won’t say more here... OK...
Readers who are interested in more zend-related content can check out the special topics of this site: "Zend FrameWork Framework Introductory Tutorial", "php Excellent Development Framework Summary", "Yii Framework Introduction and Summary of Common Techniques", "ThinkPHP Introductory Tutorial" , "php object-oriented programming introductory tutorial", "php mysql database operation introductory tutorial" and "php common database operation skills summary"
I hope this article will be helpful to everyone’s PHP programming based on the Zend Framework framework.