Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gravedigger am 18.07.03 - 11:53:44

Titel: Verbieten von Sonderzeichen
Beitrag von: Gravedigger 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
Titel: Re:Verbieten von Sonderzeichen
Beitrag von: Glombi 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
Titel: Re:Verbieten von Sonderzeichen
Beitrag von: koehlerbv 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
Titel: Re:Verbieten von Sonderzeichen
Beitrag von: Gravedigger 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
Titel: Re:Verbieten von Sonderzeichen
Beitrag von: Glombi 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
Titel: Re:Verbieten von Sonderzeichen
Beitrag von: Till_21 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