Autor Thema: [Gelöst] (Field) Input Validation auf XX999999  (Gelesen 2013 mal)

Offline SlyFox

  • Senior Mitglied
  • ****
  • Beiträge: 256
  • Geschlecht: Männlich
[Gelöst] (Field) Input Validation auf XX999999
« am: 29.05.09 - 13:18:49 »
Hallo,

ich muss prüfen, ob ein Feld folgende Kriterien erfüllt:

- Länge: 8 Zeichen
- Stelle 1 + 2: Buchstaben
- Stelle 3 - 8: Ziffern

Ich habe mir jetzt einen abgebrochen und folgende Formel erstellt, evtl. kennt jemand was effektiveres und ich habe mal wieder viel zu umständlich gedacht?

Code
tmpAlpha := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
tmpDigit := "0123456789";
tmpErrorMsg := "Wrong User-Id. The User-Id must start with two alphabetic characters followed by six number characters. Example: BE123456";
@If(
  !@Length(
    @ThisValue
  )
  = 8;
  @Failure(tmpErrorMsg);
  ""
); 
@For(
  counter := 0;
  counter <= 1;
  counter := counter + 1;
  @If(
    !@Contains(
      tmpAlpha;
      @Middle(
        @ThisValue;
        counter;
        1
      )
    );
    @Failure(tmpErrorMsg);
    ""
  )
);
@For(
  counter := 2;
  counter <= 7;
  counter := counter + 1;
  @If(
    !@Contains(
      tmpDigit;
      @Middle(
        @ThisValue;
        counter;
        1
      )
    );
    @Failure(tmpErrorMsg);
    @Success
  )
);

Vielen Dank für eure Tipps und Kommentare

Christoph
« Letzte Änderung: 29.05.09 - 13:50:43 von SlyFox »
10 x Domino 8.5 EN
2 x Domino 9.0.1 EN
30 x Notes 8.5 DE / EN / FR / IT
220 x Notes 9.0.1 DE / EN / FR / IT

Glombi

  • Gast
Re: (Field) Input Validation auf XX999999
« Antwort #1 am: 29.05.09 - 13:27:41 »
Ich hätts so gemacht:

Länge: 8 Zeichen
@Len(@Thisvalue) > 8
=> Error

- Stelle 1 + 2: Buchstaben
!@Matches(@Left(@ThisValue;2);"{A-Z}")
=> Error

- Stelle 3 - 8: Ziffern
!@Matches(@Right(@ThisValue;6);"{0-9}")
=> Error


Andreas

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: (Field) Input Validation auf XX999999
« Antwort #2 am: 29.05.09 - 13:43:54 »
@If( @Matches( @ThisValue; "{A-z}{A-z}{0-9}{0-9}{0-9}{0-9}{0-9}{0-9}" );@Success;@Failure("Da stimmt was nicht"))


Thomas

Offline SlyFox

  • Senior Mitglied
  • ****
  • Beiträge: 256
  • Geschlecht: Männlich
Re: (Field) Input Validation auf XX999999
« Antwort #3 am: 29.05.09 - 13:50:16 »
Hallo,

@Matches kannte ich leider nicht sonst hätte ich mir viel Arbeit erspart. Danke für den Tipp.

Christoph
10 x Domino 8.5 EN
2 x Domino 9.0.1 EN
30 x Notes 8.5 DE / EN / FR / IT
220 x Notes 9.0.1 DE / EN / FR / IT

Offline SlyFox

  • Senior Mitglied
  • ****
  • Beiträge: 256
  • Geschlecht: Männlich
Re: [Gelöst] (Field) Input Validation auf XX999999
« Antwort #4 am: 29.05.09 - 14:07:08 »
Hallo Tro,

Mit {A-z} prüft man leider nicht nur auf Buchstaben, sondern auch noch auf ein paar andere Zeichen, aber trotzdem danke für deinen Tipp, einefach alles so hintereinander zu schreiben.

{A-Za-z}{A-Za-z}{0-9}{0-9}{0-9}{0-9}{0-9}{0-9} müsste demnach korrekt sein. Dann sollte auch die Überprüfung auf @Length(@ThisValue) = 8 wegfallen können.

Christoph
10 x Domino 8.5 EN
2 x Domino 9.0.1 EN
30 x Notes 8.5 DE / EN / FR / IT
220 x Notes 9.0.1 DE / EN / FR / IT

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz