Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ozan am 23.08.06 - 11:10:38

Titel: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Ozan am 23.08.06 - 11:10:38
Hallo zusammen,

ist es möglich ein Kennwortfeld so zu programmieren, dass der nur Zahlen akzeptiert?

Danke

Ozan
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: DerAndre am 23.08.06 - 11:14:34
Hi.

Wo willst Du das machen? Eigene DB? Mail DB? Oder Web? Oder was mir sonst noch so nicht einfällt?

Aber im Prinzip sollte es gehen. ( Eingabevalidierung )

Oder meinst Du das schon beim Eintippen nur Zahlen gelten sollen?

André
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Ozan am 23.08.06 - 11:17:06
Sry, dass ich vergessen habe zu beschreiben wo genau das sein soll.

Unter Notesebene, Maske, Eingabefeld.

Und beim eintippen nur Zahlen gelten, also wenn jemand nicht Zahl eingibt, soll das ganze überhauptnicht erscheinen oder eine Fehlermeldung bringen

Danke
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Axel am 23.08.06 - 12:37:16
Und beim eintippen nur Zahlen gelten, also wenn jemand nicht Zahl eingibt, soll das ganze überhauptnicht erscheinen oder eine Fehlermeldung bringen

Nein, das geht so nicht. Du kannst nur mit der Eingabevalidierung (wird beim Aktualisieren oder Speichern ausgeführt) prüfen, ob der Feldwert nur aus Zahlen besteht. Wenn nicht kannst du dem User eine Fehlermeldung anzeigen.


Axel
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Glombi am 23.08.06 - 12:40:19
Eine Möglichkeit wäre mit der NotesTimer Klasse sekündlich eine Abfrage zu machen, ob auch nur Zahlen eingegeben werden. Aber bei den Schnelltippern schätze ich dass es trotzdem nicht hinhaut.

Also nur in Verbindung mit einer Eingabevalidierung.

Andreas
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Ozan am 23.08.06 - 12:52:35
Ok, ich habe das jetzt bei der Eingabevalidierung reingepackt.

@If(
!@IsNumber(Kontonr);
"Kontonummer ist nicht nummerisch";
@True
)

kontonr ist Kennwort Feld, Kontonummer wird in "*" angezeigt.

Jetzt springt der immer raus, habe ich da etwas falsch gemacht?
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Axel am 23.08.06 - 13:16:41
So kann das nicht gehen.

Die Formel muss so aussehen:


@If(
        !@IsNumber(@ThisValue);
        @Failure("Kontonummer ist nicht nummerisch");
        @Success
)




Axel
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Ozan am 23.08.06 - 13:43:05
Hmm, irgendwie klappt das nicht so. Jetzt gibt es die Fehlermeldung permanent, auch wenn das ein Zahl ist!
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Tode am 23.08.06 - 14:15:50
@IsNumber nimmt keine Typenkonvertierung vor.

Wenn in Deinem TEXTFELD also

12345 drinsteht, dann macht @IsNumber:

@IsNumber( "12345" ) und liefert FALSE, weil nun mal "12345" keine Zahl sondern ein Text ist.

Du müsstest zuerst mit @ToNumber( @ThisValue ) versuchen den eingegebenen Text in eine Zahl umzuwandeln, um dann mit @IsNumber abzufragen.

Leider ist @ToNumber für Deinen Wunsch nicht geeignet:

@ToNumber( "1234abcd" ) liefert nämlich 1234 zurück, veruscht also aus Teufel komm raus die Zahl aus Deinem Text zu finden.

Was Du willst geht nur so:

_valids := "1" : "2" : "3" : "4" : "5" : "6" : "7" : "8" : "9" : "0";

_xVal := @Trim( @ReplaceSubstring( @ThisValue ; _valids ; "" ) ) ;

@If( _xVal != "" ; @Failure( "Es dürfen nur Ziffern eingegeben werden" ) ; @Success );


Das ganze wurde übrigens vor nicht allzu langer Zeit hier diskutiert, zu Deinem Glück habe ich es durch kurze Suche mit mir Sinnvoll erscheinenden Eingabe-werten nicht gefunden...

Gruß
Tode

Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: DerAndre am 23.08.06 - 14:46:09
Hi Tode.

Den meinst Du nicht oder?

Ist Numerisch (http://atnotes.de/index.php?topic=22061.0)

Aber ich kann mich auch dunkel dran erinnern.

André
Titel: Re: Kennwortfeld, nur Zahlen eingeben?
Beitrag von: Ozan am 23.08.06 - 15:45:10
Danke. Funzt!