Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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
-
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
-
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
-
@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
-
")
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
-
validier clientseitig mit JS und einem regulaeren ausdruck -> selfhtml -> exec ...
nur schlecht wenn im browser js deaktiviert ist
gruss