Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 有没有办法在自定义验证的帮助下设置[禁用]_Angular_Validation - Fatal编程技术网

Angular 有没有办法在自定义验证的帮助下设置[禁用]

Angular 有没有办法在自定义验证的帮助下设置[禁用],angular,validation,Angular,Validation,对于条件是否为真,我有一个自定义验证。基于这个条件,我想在formgroup中的输入字段上设置disabled。 如果我将条件与*ngIf一起使用,但如果我将相同条件与[disabled]=一起使用,则不会发生任何事情 // working part <div *ngIf="groupForm.errors?.validateForMr && (groupForm.touched || groupForm.dirty)" class="cross-validation-er

对于条件是否为真,我有一个自定义验证。基于这个条件,我想在formgroup中的输入字段上设置disabled。 如果我将条件与*ngIf一起使用,但如果我将相同条件与[disabled]=一起使用,则不会发生任何事情

// working part
<div *ngIf="groupForm.errors?.validateForMr && (groupForm.touched || groupForm.dirty)" class="cross-validation-error-message alert alert-danger">
    Name cannot match alter ego.
</div>

// and the part I can't get to work
<input type="text" [disabled]="!groupForm.errors?.validateForMr" id="mr_nr" class="form-control" formControlName="mr_nr" (focus)="focusIn(2)" (focusout)="focusOut(2)">
//工作部件
名字不能和另一个自我匹配。
//还有我不能工作的部分

有人有什么建议吗?

在html页面中禁用formControl是不明智的

如果您使用的是Reactiveforms,则可以在组件中尝试此代码

this.yourFormName.controls['yourFormControlName'].disable()以禁用输入

this.yourFormName.controls['yourFormControlName'].enable()启用返回。

[disabled]=“!(groupForm.errors?.validateForm&&(groupForm.toucted | | groupForm.dirty))”
,不一样的情况,你试过了吗。它在属性绑定使用时不响应所有问题
[attr.disabled]=“(!groupForm.errors?.validateForMr)?true:null”
请尝试
[attr.disabled]
而不是提供堆栈闪电。