Validate Email filed in customer card.

Hi Everyone,

I would like to create/validate input mask for "Email" field for customer card(Customer Card-form>Communication-Tab>Email).
ie. when user Copy and paste any mail to "Email field" ,and if that contain commas, carriage returns or tabs; Its should show error(remove commas, carriage returns or tabs).
I tried this code in customer card, Email(field): OnValidate() trigger:
[Var - Ch(Text)]

Ch[1] := 9; //for tab
Ch[2] := 13; //for carriage return
Ch[3] := 10; //for line feed
Ch[4] := ',';
IF(Customer."E-Mail" = Ch) THEN
ERROR(Text003);

But its not triggering.
Even , I tried the same code for same field for customer table, but its not triggering.
Please advice me , what I am doing wrong or Advice me the alternate way to do.

Thanks,
Mani.

Answers

  • KlappspatenKlappspaten Member Posts: 22
    edited 2019-09-26
    Give this a shot.
    Ch[1] := 9; //for tab
    Ch[2] := 13; //for carriage return
    Ch[3] := 10; //for line feed
    Ch[4] := 44; //for comma
    FOR i := 1 TO ARRAYLEN(Ch) DO
        IF(STRPOS(Customer."E-Mail",FORMAT(Ch[i])) > 0 THEN
            ERROR(Text003);
    

    For clarifiaction on what I did there:

    Your Ch variable should be of type Char, not Text and have the Dimensions property set to 4.
    After changing the variable and assign the values, I loop over every element of the Ch-Array and check in the IF condition if the given char is existing in the E-Mail field (STRPOS > 0).
    If so, throw the error.
Sign In or Register to comment.