Autor Thema: Verbieten von Sonderzeichen  (Gelesen 1971 mal)

Offline Gravedigger

  • Aktives Mitglied
  • ***
  • Beiträge: 179
  • Geschlecht: Männlich
Verbieten von Sonderzeichen
« am: 18.07.03 - 11:53:44 »
Hallo,

ich möchte in einem Feld die Eingabe von Sonderzeichen unterbinden. (im Web)
Leider bin ich hier ein bisschen ratlos. Hat jemand von euch eine Idee?


Danke
Client R 8.5.1 bis R 9.0.1 FP9 (ab Win 7 Prof.)
Server R 9.0.1 FP 6 (Win 2012 R2 Datacenter Edition x64)

Glombi

  • Gast
Re:Verbieten von Sonderzeichen
« Antwort #1 am: 18.07.03 - 13:50:25 »
Hi,
das geht mit @Matches. Wenn Du nur Buchstaben zulassen möchtest, dann wie folgt:

@If(
 @matches(<Feldname>;"{A-Z}" | @matches(<Feldname>;"{a-z}";
   @Success;
 @Failure("Sie dürfen keine Sonderzeichen eingeben!")
)

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Verbieten von Sonderzeichen
« Antwort #2 am: 18.07.03 - 15:00:53 »
Zunächst erstmal: Eine Methode, bestimmte Zeichen bereits bei der Eingabe abzuweisen, ist mir nicht bekannt.
M.E. in der Sandbox habe ich zwar mal ein Sample gefunden, das mit JS arbeitet - und dem Timer. Und der taktet ja minimal mit 1 Sekunde - und das dürfte schlicht zu unsicher sein.

Es gibt aber noch einen Trick, wie man NACH der Eingabe die Zeichenkette validieren kann und so entweder eine Eingabevalidierung oder eine Eingabeumsetzung realisieren kann:

Ergebnis := @Implode (@Explode (Eingabestring; StringMitDenVerbotenenZeichen); "")

Das Explode entfernt dabei die Zeichen, die es ja als Delimiter ansieht, aus dem String, das Implode liefert dann wieder einen String. Der Leerstring  als Implode-Delimiter sorgt dafür, daß entfernte Zeichen durch "nichts" ersetzt werden.

HTH,
Bernhard

Offline Gravedigger

  • Aktives Mitglied
  • ***
  • Beiträge: 179
  • Geschlecht: Männlich
Re:Verbieten von Sonderzeichen
« Antwort #3 am: 21.07.03 - 08:53:20 »
@If(
 @matches(<Feldname>;"{A-Z}" | @matches(<Feldname>;"{a-z}";
   @Success;
 @Failure("Sie dürfen keine Sonderzeichen eingeben!")
)

Das sieht schonmal nicht schlecht aus. Nur eine Frage habe ich noch:
Wie kann ich bei @Failure eine JS-Alert-Box erscheinen lassen?

@Failure("[<script type=\'text/javascript\'><!--alert(\'Bitte entfernen Sie die Sonderzeichen!\');//--></script>]")

Stimmt das?



Danke
Client R 8.5.1 bis R 9.0.1 FP9 (ab Win 7 Prof.)
Server R 9.0.1 FP 6 (Win 2012 R2 Datacenter Edition x64)

Glombi

  • Gast
Re:Verbieten von Sonderzeichen
« Antwort #4 am: 21.07.03 - 09:03:38 »
Zitat
Zitat von: Gravedigger @Failure("[<script type=\'text/javascript\'><!--alert(\'Bitte entfernen Sie die Sonderzeichen!\');//--></script>
")

Das wird nicht gehen. Das @Failure(...) erzeugt eine eigene Seite, auf der der Fehlertext ausgegeben wird.

Dein Code würde eine HTTP Fehlermeldung produzieren.

Andreas

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Verbieten von Sonderzeichen
« Antwort #5 am: 21.07.03 - 09:15:27 »
validier clientseitig mit JS und einem regulaeren ausdruck -> selfhtml -> exec ...
nur schlecht wenn im browser js deaktiviert ist

gruss

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz