Die Zend_Form-Komponente implementiert die Formularübermittlung und zeigt Fehlermeldungen an

不言
Freigeben: 2023-03-30 12:42:01
Original
1460 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode der Zend_Form-Komponente zum Implementieren der Formularübermittlung und zur Anzeige von Fehleraufforderungen vorgestellt. Er analysiert detailliert die Verwendung der Zend_Form-Komponente und die spezifischen Schritte zur Implementierung der Formularübermittlung in Form von Beispielen it

Das Beispiel in diesem Artikel beschreibt, wie die Zend_Form-Komponente des Zend Framework-Tutorials die Formularübermittlung implementiert und Fehlermeldungen anzeigt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Gleichzeitig möchte das Unternehmen eine Gruppenfunktion entwickeln. Ich möchte auch Zend_Form verwenden, um die Funktion zum Erstellen von Gruppen zu realisieren Die Hauptsache ist, dass Zend_Form schriftlich verwendet werden kann. Beim Formen ist die serverseitige Überprüfungsfunktion implementiert, die uns die erneute Überprüfung erspart, wenn wir die Daten an die Datenbank senden. Ich habe also das Handbuch zu diesem Aspekt gelesen und das Relevante gefunden Anweisungen finden Sie im Zend Framework-Handbuch. Der einfachste Weg, es zu verwenden, besteht darin, eine vorgefertigte Aktion in den Controller (Controller) zu schreiben, sodass ... diese Aktion direkt in diesem Controller verwendet werden kann ... Der Code kann wie folgt sein:

<?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));
}
?>
Nach dem Login kopieren

Natürlich ..Ich kann dieses Formular auch als Klasse schreiben ... und es in einem gemeinsamen Formularverzeichnis speichern. Dies erleichtert uns die Verwaltung aller unserer Formularformulare ..Die Art und Weise, wie ich es umsetze, besteht darin, es in derselben Klasse wie dem Controller im selben Ebenenverzeichnis abzulegen ... Dies ist natürlich auch für das Management praktisch. Verschiedene Freunde haben unterschiedliche Ideen ... Ein anderer Weg. . ist es, es als View Helper zu schreiben ... Dieser Weg kann auch sehr praktisch sein ... Ich möchte hier nicht mehr schreiben ... Zend Framework ist sehr bequem zu implementieren ... Solange Sie können es sich vorstellen ... egal wie Sie Ihre Aufgabe erledigen, es ist möglich ... Ich werde hier nicht viel mehr sagen ... Ich möchte nur darüber sprechen, wie man Zend_Form dazu bringt, die chinesische Eingabeaufforderungsinformationsfunktion zu realisieren ...Ich habe hier zwei Methoden...

Erstens: Der blöde Weg ist: Wenn Ihre Website keine mehrsprachige Website sein möchte ... und wenn Ihre Zend Framework-Version nicht häufig geändert wird ...Sie können den Quellcode der entsprechenden Eingabeaufforderungsinformationen finden ... die Eingabeaufforderung, um sie in Chinesisch zu ändern.

Diese dumme Methode ... es gibt wirklich keinen anderen Weg ... haha ​​...

Zweitens: Ich habe auf der englischen Website auch eine bessere Möglichkeit gesehen, diese Eingabeaufforderung in die gewünschte Sprache umzuschreiben ... Auf diese Weise ... auch wenn wir die ändern Sprache... oder die Version von Zend Framework...

es wird keine großen Auswirkungen auf uns haben ... Wir müssen nur die Form unseres Formulars ändern, um den Code dafür zu erledigen Die Methode ist wie folgt (ich habe hier nur die Informationen zur E-Mail-Eingabeaufforderung geschrieben. Schreiben Sie keine anderen Dinge mehr):

<?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;,
))); 
?>
Nach dem Login kopieren

Hier.. Die Zend_Form-Komponente hat auch eine wichtigere Funktion.. Es ist Zend_Form_Decorator.. Es wird im Handbuch als Dekorator bezeichnet, was bedeutet, dass Sie den gewünschten Dekorator schreiben können. Ihr Formular ist in der Tabelle enthalten ... Wie implementieren wir es zu diesem Zeitpunkt? wie HtmlTag und Label, um die von uns gewünschten Funktionen zu erreichen ... Dies ist ein relativ wichtiges Konzept. Freunde, die interessiert sind, können einen Blick darauf werfen ... Denn wenn Sie die Zend_Form-Komponente verwenden möchten, wird sie es tun Es wird schwierig sein, es zu verwenden, wenn Sie den Dekorateur nicht kennen ... also müssen Sie dieses Ding kennen ... bevor Sie es erstellen können. Die Formularfunktion, die ich möchte ... Letztendlich ... ist es nur ein kleiner Nutzen von Dekorateuren

Ich implementierte nur eine kleine Funktion ... Der Code lautet wie folgt:

<?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;);
?>
Nach dem Login kopieren

Haha ... ungefähr Das ist die Anwendung ... Schließlich ... ist sie zu überprüfen die übermittelten Daten... Erfahren Sie, wie Sie die vom Benutzer übermittelten Daten überprüfen... Hier gibt es nicht viel zu sagen... OK...

Verwandte Empfehlungen:

Die perfekte Lösung für Thinkphp-Abfragen mit mehreren Tabellen, bei denen in zwei Tabellen dieselben Felder wiederholt werden

Das obige ist der detaillierte Inhalt vonDie Zend_Form-Komponente implementiert die Formularübermittlung und zeigt Fehlermeldungen an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!