Angular 4 Form Validators - minLength & maxLength does not work on field type number

前端 未结 12 1018
被撕碎了的回忆
被撕碎了的回忆 2021-01-03 18:06

I am trying to develop a contact form, I want user to enter phone number values between length 10-12.

Notably same validation is working on Message

12条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-03 18:46

    Update 1 :

    phone: ['',  [Validators.required, Validators.min(10000000000), Validators.max(999999999999)]],
    

    Used it like following and worked perfectly :

     phone: ['',  [Validators.required, customValidationService.checkLimit(10000000000,999999999999)]],
    

    customValidationService :

    import { AbstractControl, ValidatorFn } from '@angular/forms';
    
    export class customValidationService {
       static checkLimit(min: number, max: number): ValidatorFn {
        return (c: AbstractControl): { [key: string]: boolean } | null => {
            if (c.value && (isNaN(c.value) || c.value < min || c.value > max)) {
                return { 'range': true };
            }
            return null;
        };
      }
    }
    

提交回复
热议问题