Check if input control has certain type of vallidator in angular2

前端 未结 2 1419
孤城傲影
孤城傲影 2021-01-18 04:39

I have component that wraps input field. In the component i receive the Control object from @Input() inputControl: Control;. In the template i have

2条回答
  •  太阳男子
    2021-01-18 05:18

    You can try to use this expression:

    
      (optional)
    
    

    The errors attribute contains one entry per name of validator that failed.

    I use the Elvis operators for the errors attribute since it can be undefined if there is no validation error.

    Edit

    Following your comment, I think that you can check a "required" validator using the === operator with the Validators.required function directly. In fact a validator is simply a function and the Validators.required function is used for "required" validation.

    Here is the corresponding code:

    this.hasRequiredValidator = (this.inputControl.validator === Validators.required);
    

    In the case where the validator attribute is an array, you need to extend a bit the test to check if the Validators.required function is present in the array.

    Now the code in the template would be:

    (optional)

    Hope it helps you, Thierry

提交回复
热议问题