gpt4 book ai didi

angular - 提交后删除验证器

转载 作者:行者123 更新时间:2023-12-04 04:08:54 25 4
gpt4 key购买 nike

我创建了两个文本框,一个用于标题,另一个用于名称。

如果文本框未填写,我将使用验证,因此只有在两个文本框都已填写时才会提交信息。

我的问题是,提交后我尝试清除变量的值,并且在清除该值时出现验证消息。

有没有办法提交成功并清除变量的值,验证器不出现?

DEMO

html

<div style="margin-top:16px;width:50%">
<dx-text-box placeholder="title..." [showClearButton]="true" [(ngModel)]="title">
<dx-validator>
<dxi-validation-rule type="required" message="Insert Title">
</dxi-validation-rule>
</dx-validator>
</dx-text-box>
</div>
<div style="margin-top:16px;width:50%">
<dx-text-box placeholder="name..." [showClearButton]="true" [(ngModel)]="name">
<dx-validator>
<dxi-validation-rule type="required" message="Insert Name">
</dxi-validation-rule>
</dx-validator>
</dx-text-box>
</div>

<dx-button text="Submit" [useSubmitBehavior]="true" (onClick)="Save()"></dx-button>

.ts

title: string;
name: string;

Save(){
if(this.title == "" || this.title == undefined || this.name == "" || this.name == undefined){
}
else{
alert("Sucess !!");
this.title = "";
this.name = "";
}
}

问题

Image

在这里,我填写了文本框并成功提交。我清除了变量的值,但是当这样做时,验证器被激活,而实际上一切都应该处于初始状态:(

最佳答案

这是我通常用来在提交后清除所有验证器的技巧。

  @ViewChildren(DxValidatorComponent) validatorViewChildren: QueryList<DxValidatorComponent>;

private clearDxValidators = () => {
this.validatorViewChildren.toArray().map(ref => {
ref.instance.reset();
})
}


阅读更多关于 reset() 的信息

关于angular - 提交后删除验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62084038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com