2010-11-26 19 views
1

Ich habe Zend_Form erweitert, um mein benutzerdefiniertes Formular zu erstellen, das ich auf einigen Seiten meiner Website wiederverwenden werde. Für dieses Formular habe ich auch eine JavaScript-Validierung basierend auf jquery erstellt.Javascript-Validierung und Zend_Form

Was ich tun möchte, ist diese JavaScript-Validierung für das Formular in der Unterklasse Zend_Form hinzufügen. Jedes Mal, wenn das Formular aufgerufen wird, wird auch JavaScript aktiviert.

In einem View-Skript können Sie $ this-> headScript() -> appendFile ('/ js/val.js') verwenden und dann echo $ this-> headScript() im Layout verwenden. Aber headScript() ist meines Wissens in Zend_Form nicht möglich.

Wie kann ich Head in Zend_Form verwende oder ist sie eine Alternative ‚besser‘ Ansatz

Antwort

1

Sie

$this->getView(); 

in dem Formular verwenden können, einen Verweis auf Ihre Ansicht zu erhalten (über die Ansicht Renderer) . Verwenden Sie die Ansicht Ihrer Helfer Ansicht dann zuzugreifen:

$this->getView()->headScript()->appendFile('/js/val.js'); 

ich hinzufügen, dass ich eigentlich nicht diesen Ansatz gefällt, wie es Ihre Form der Ansicht bindet, aber es ist die einfachste und schnellste Art und Weise zu tun, was Sie versuchen, machen.

+0

Stefan, welche Methode ist Ihrer Meinung nach besser, die Javascript-Validierung zusammen mit dem Formular zu speichern? – vdrmrt

+0

Vielleicht einige Ansicht Helfer, die das Formular erstellt und injiziert das Javascript in die Ansicht würde diese Kopplung reduzieren. Aber ich glaube nicht, dass es sich lohnt, wenn Sie Ihre Formulare nicht außerhalb eines Ansichtskontexts verwenden (z. B. schlagen einige Entwickler vor, Formulare innerhalb des Modells zu verwenden, um dort die Validierung durchzuführen). –

Verwandte Themen