Keresés

Új hozzászólás Aktív témák

  • bandi0000
    nagyúr

    Nemrég kezdtem el használni a materialt, tehát nem 100%, hogy én tudom jól, de "mat-error"-ból lehet több, abba kell belerakni az error-message-eket (szerkesztettem az előzőt, raktam be egy saját kódot).

    Viszont itt most a ts file kéne, ahol megírtad a custom validatort.
    Egyébként pl a minlength így van megírva:

    static minLength(minLength: number): ValidatorFn {
    return (control: AbstractControl): ValidationErrors | null => {
      if (isEmptyInputValue(control.value)) {
    return null;  // don't validate empty values to allow optional controls
    }
       const length: number = control.value ? control.value.length : 0;
    return length < minLength ?
    {'minlength': {'requiredLength': minLength, 'actualLength': length}} :
         null;    
    };
    }

    isEmpty ennyit csinál:

    return value == null || value.length === 0;

    Az igazából ennyi:

    export function containDigit(control: AbstractControl): { [key: string]: boolean } | null {
        if(control.errors?.required || control.errors?.minlength || control.errors?.maxlength){

            return null;    }
       if (!/[A-Z]/.test(control.value) && environment.passwordContainDigit) {

    return { 
    'containUpperCase': true }    
    }
        return null;

    }

    Akkor ír ki 2 hibaüzenetet amikor belekattintottam a mezőbe, de nem írtam semmit, nyilván olyankor required-re is lő, meg erre is, ezért próbálkoztam az első if-ben, megnézni, hogyha van már a required-re hiba, akkor ne is nézze ezt

Új hozzászólás Aktív témák