Ergebnis 1 bis 3 von 3

Thema: Clientseitige Formularvalidierung abschalten?

  1. #1
    Contao-Nutzer
    Registriert seit
    23.06.2012.
    Beiträge
    72

    Standard Clientseitige Formularvalidierung abschalten?

    Hallo,

    ich bastele grade in einer Erweiterung ein etwas komplexeres Formular aus Widgets zusammen. Hierbei sollen bestimmten Formularfelder nur validiert werden, wenn gewisse Checkboxen im Formular gesetzt sind. Entsprechend hab ich es im Modul programmiert (hier der entsprechende Code, ist für meine eigentliche Frage unten aber eigentlich unwichtig):

    PHP-Code:
    //selected_forms ist der Name der Checkboxen im Formular mit denen 
    // ausgewählt wird, welche Formularteile ausgefüllt werden und validiert werden sollen
    //
    // $arrMessageWidgets und $arrQuestionWidgets enthalten jeweils die Widgets für die 
    // jeweiligen Checkboxes

    $selectedForms = \Input::post('selected_forms');
    if (
    is_array($selectedForms))
    {
        if (
    in_array(1$selectedForms))
        {
            
    $errMessage $this->validateWidgets($arrMessageWidgets);
        }
        if (
    in_array(2$selectedForms))
        {
            
    $errQuestion $this->validateWidgets($arrQuestionWidgets);
        }
    }

    $doNotSubmit = ($errMessage || $errQuestion);
                
    if (!
    $doNotSubmit)
    {
        
    // email senden und so... 
    Das funktioniert serverseitig auch problemos, allerdings scheint Contao zusätzlich noch eine clientseitige Validierung der Formularfelder durchzuführen(?), und die moniert jetzt die nicht ausgefüllten Felder auch dann, wenn die Checkbox nicht gesetzt ist (was ja auch logisch ist).

    Ich hätte jetzt gedacht, dass diese Validierung mit Javascript realisiert ist, komischerweise findet sie auch statt, wenn ich Javascript deaktiviere. Blicke da irgendwie nicht durch...

    Meine Frage ist, ob man diese zusätzliche Validierung von Formularfeldern irgendwie abschalten kann, so dass nur die serverseitige Validierung durchgeführt wird, die man per PHP in seiner Erweiterung beeinflussen kann.

    Am besten wäre, wenn das per PHP in der Erweiterung geht (vielleicht ein Wert im eval-Array?), notfalls auch über die Einstellungen der Contao-Installation.

    Grüsse,
    fluppi

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Das ist ein Feature von HTML5. Damit ein Formular auf einem HTML5 Dokument nicht vom Browser validiert wird, musst du dem Formular das Attribut novalidate geben. Wenn du das Formular über den Contao Formulargenerator erstellen lässt, kannst du dies in den Einstellungen des jeweiligen Formular veranlassen (Experten-Einstellungen - HTML5-Validierung deaktivieren).

  3. #3
    Contao-Nutzer
    Registriert seit
    23.06.2012.
    Beiträge
    72

    Standard

    Klappt, vielen Dank!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •