[ELSE] bei Formular?

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: [ELSE] bei Formular?

Post by santscho »

Uwe367 wrote: Mon 1. Jun 2020, 07:40 Die Fehlermeldung Name required! kannst du beim Formularfeld eingeben:
...schon klar. Nur wurden bei mir überhaupt keine Fehlermeldungen ausgegeben. Jetzt gehts ja.

Werde heute Abend einen Ersetzter machen. Einfach <form ersetzten durch <form novalidate. Dann ist das Script Form-ID unabhängig. Danke für den Tip!
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: [ELSE] bei Formular?

Post by Uwe367 »

Oliver Georgi wrote: Mon 1. Jun 2020, 11:31 Es geht über Text (spezial) und REGEX:
Bildschirmfoto 2020-06-01 um 11.31.33.png

Und für "nur Zahlen" und genau 3 lang: [0-9]{3,3}
Und für "nur Zahlen" und mindestens 3 lang: [0-9]{3,}
Danke Oliver :D Ich wusste daß es irgendwie machbar ist.


santscho wrote: Mon 1. Jun 2020, 11:48 Einfach <form ersetzten durch <form novalidate. Dann ist das Script Form-ID unabhängig. Danke für den Tip!
Das sollte so klappen.

Code: Select all

<?php
// -------------------------------------------------------------------------------------------
// obligate check for phpwcms constants
  if (!defined('PHPWCMS_ROOT')) {
    die("You Cannot Access This Script Directly, Have a Nice Day."); }
// -------------------------------------------------------------------------------------------

$content['all'] = str_replace('form id', 'form novalidate id', $content['all']);
Getestet auf localhost und funktioniert.
Ergibt im Quellcode

Code: Select all

<form novalidate id........>
Würde ich jedoch so nicht machen da sich das dann auch auf andere Formulare auswirkt wo man das viellecht nicht möchte. Es könnte sein daß man in einer Seite mehrere Formulare hat. Mit dem Script, wie oben, wirkt es sich global auf alle Formulare in der Seite aus. Vielleicht hast du ja eine andere Idee....
Sagt man dem Script jedoch bei welcher phpwcmsForm id Klassen ersetzt werden sollen, so werden die auch nur dort ersetzt und alle anderen Formulare bleiben davon unberührt. Oder habe ich einen Denkfehler?
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: [ELSE] bei Formular?

Post by santscho »

Uwe367 wrote: Mon 1. Jun 2020, 15:51 Oder habe ich einen Denkfehler?
Ne, da hast Du schon recht. In meinem Fall bekommt jedes Formular "novalidate". Anyway... novalidate kann irgendwo im Form-Tag stehen. Darum habe ich das jetzt so gemacht:

Im Backend gebe ich dem Formular die Klasse novalidate

Und im Frontend-Renderscript ersetzen:

Code: Select all

$content['all'] = str_replace('class="form-novalidate"', 'class="form-novalidate" novalidate', $content['all']);
Mit dem obigen Script wird die Klasse mit sich selbst ersetzt plus noch novalidate hinzugefügt. Und gibt man einem Formular nicht die "novalidate"-Klasse, greift das Renderscript auch nicht. Erledigt :D
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: [ELSE] bei Formular?

Post by Uwe367 »

Oder so. Gibt veschiedene Lösungswege die zum gewünschten Ergebnis führen :D

Ich habe aber nun ein anderes Problem wobei ich nicht weiß ob man das als Problem bezeichnen kann/soll. Keine Ahnung ob das ein Bug ist.
Daher schreibe ich das erstmal hier bevor ich ein Issue dafür eröffne. Oliver schaut ja auch wieder regelmäßiger hier rein :wink:

Ich habe Olivers Vorschlag bezüglich der Zeichenlängenprüfung umgesetzt, aber sobald ich Text spezial als Forumlarfeld auswähle bleibt der Hinweis auf ein fehlerhaft ausgefülltes Feld (das was ich im Feld Fehlertext eintrage) erhalten obwohl ich das Feld richtig ausgefüllt habe. Dies geschieht unabhängig davon ob im Feld Wert etwas eingetragen ist oder nicht. Verwende ich das normale Feld Text einzeilig, verschwindet der Hinweis.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: [ELSE] bei Formular?

Post by Oliver Georgi »

Ja, ist ein Fehler – kein echter Bug aber eine Unschönheit, die im Zuge von RegEx Input Pattern auftaucht. Text Spezial ist ja etwas älter als HTML5-Input-Attribute: https://github.com/slackero/phpwcms/com ... d6796cb05d

In Verbindung mit novalidate ist kein Update nötig, dann muss aber der RegEx Pattern mit Delimetern umschlossen werden: /[0-9]{3,3}/
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: [ELSE] bei Formular?

Post by Uwe367 »

Mensch Oliver.... Ich bin grad sprachlos. Kaum ist das Problem geschildert, schon hast du einen Fix dafür. Einfach GENIAL
DANKE DANKE DANKE DANKE
Klappt nun bestens :D
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: [ELSE] bei Formular?

Post by Old Boy »

So gesehen ist für phpwcms die CORONA-Situation nahezu ein Segen ... "man kann sich was wünschen" :D

Nein, keine Sorge, ich habe meine Wunschliste schon vor Monaten weggeworfen :lol:
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: [ELSE] bei Formular?

Post by Uwe367 »

Und momentan bin ich dabei das ganze mit einem Javascript zu koppeln so daß die Felder schon während der Eingabe überprüft werden und entsprechend vor dem Absenden des Formulars entsprechend Hinweise in den Feldern angezeigt werden.
Gibt ja online viele Lösungen, aber die müßen auf phpwcms angepaßt werden und ich möchte das ganze so einfach wie möglich gestalten so daß man am Script nur möglichst wenig verändern muß.
Post Reply