[Catalyst-de] Formulare

Robert 'phaylon' Sedlacek rs at 474.at
Fri Feb 9 11:01:33 GMT 2007


Steffen Schwigon wrote:

> 1. *Muss* mit Mason gehen. Das Formular ist ein Template, und Mason
>    muss mit seinen "autohandler"n trotzdem den Seitenrahmen drumrum
>    rendern.

Das werden die meisten wohl so oder so ermöglichen.

> 2. Der wichtigste Punkt:
> 
>    Ich möchte die Felder über eine Seite verteilt haben, wo mittendrin
>    optional wieder Text steht. Also nicht das Formular als ein
>    zusammenhängender TABLE-Klops.
> 
>    Es wäre für mich auch ok, wenn ich die Zwischentexte irgendwo in
>    der Formularspezifikation, wo auch die Plausi-Checks definiert
>    sind, hinschreiben kann und mein Template dann entsprechend
>    schreibe. Bei "Catalyst::Controller::FormBuilder" wusste ich aber
>    nicht so recht, wo sowas in dem YAML hingehört hätte.

Ich persönlich bin inzwischen bei (C:C:)FormBuilder angelangt. Du musst
nicht FormBuilder's ->render Methode verwenden, sondern kannst das
Formular ja auch selbst bauen. Ich habe meistens pro Projekt ein
form.html Template herumliegen, das genau das macht. Vorstellbar wäre es
beispielsweise, das Formular zu definieren, und in der Controller
Konfiguration (oder wo auch immer du es für sinnvoll hältst) eine
Datenstruktur anzugeben:

  __PACKAGE__->config(
      form_layout => [
          fields => [qw(login passwd passwd_repeat)],
          text   => 'Dieser Text kommt als naechstes',
          fields => [qw(description is_active)],
          text   => 'Noch etwas mehr Text',
          fields => [qw(roles)],
      ],
  );

Das ist natürlich nur ein Beispiel. Du könntest du Typen (fields =>)
auch weglassen, wenn du auf ref($key) prüfst.

> 3. Ich möchte das erzeugte HTML definieren. Ich mag z.B. das
>    TABLE-Layout von "Catalyst::Controller::FormBuilder" nicht, weil
>    ich alles Layout nur mit CSS machen möchte. Ich muss das Formular
>    auf die Verwendung von fieldset-, legend-, label-Tags definieren
>    können. (Ja, ich kenne die beschränkten Layout-Möglichkeiten bei
>    Formularen mit CSS. :-)

Wie oben geschrieben, kannst du den Formularaufbau bei FB komplett
selbst schreiben. Entweder C:C:FB oder CGI:FB sollten dafür auch schon
Beispiele in den Distributionen haben.

> 4. Der Rest schon so schön mit automatischer Validation und Reload und
>    sticky, wie die Dinger auf CPAN das halt so machen.

Den Teil verstehe ich nicht
-- 
# Robert 'phaylon' Sedlacek
# Perl 5/Catalyst Developer in Hamburg, Germany
{ EMail => ' rs at 474.at ', Web => ' http://474.at ' }



More information about the Catalyst-de mailing list