当前位置: 首页 > 知识库问答 >
问题:

ClearValidator在angular 6表单控件中不工作

易修洁
2023-03-14

我有两个表单组名称,如下所示。有时一个表单不显示给用户。当两者都显示出来时,我就没有问题了。我有一个按钮,当表单有效时可以看到。

 <div
        *ngIf="showPersonalInfo"
        class="personalInfo"
        formGroupName="personalInfo"
      > 

 <div
        *ngIf="showFamilyInfo"
        class="familyInfo"
        formGroupName="familyInfo"
      > 

 <button
        *ngIf="InfoForm.valid"
        class="submitButton"
</button>

我用下面的代码初始化我的表单。

this.InfoForm = this.formBuilder.group({
  personalInfo: this.getPersonalInfo(),
  familyInfo: this.getFamilyInfo(),
});

this.getFamilyInfo()中的代码将设置show FamilyInfo为true或false,并在这两种情况下初始化表单,否则找不到我的html抛出familyInfo。

我们的一项服务有时会查找成员配置文件,提取现有的家庭信息/个人信息,填充模型并将showPersonalInfo/showFamilyInfo设置为true。

当showFamilyInfo为false时,我的InfoForm.FamilyInfohtml" target="_blank">表单控件显示为无效。为了避免这个错误,我正在使用下面的代码清除验证程序,但它仍然显示familyInfo表单控件状态无效。但我的个人信息是有效的。

如何可以忽略与FmilyInfo相关的一切,当show FamilyInfo是假的,所以按钮将是可见的。

this.InfoForm.get('familyInfo').clearValidators();
this.InfoForm.get('familyInfo').updateValueAndValidity();

共有1个答案

焦博实
2023-03-14

我认为您需要先清除错误,然后才能更新有效性。在这篇链接文章中,Julia P.的答案涵盖了如何清除错误。然后运行updateValueandValidity。如何手动将角度形式字段设置为无效?

 类似资料:
  • 主要内容:Bootstrap Input,实例,Bootstrap textarea,实例,Bootstrap 复选框(checkbox),实例,实例,Bootstrap 单选框(Radio),实例,实例,Bootstrap select 下拉菜单,实例Bootstrap4 支持以下表单控件: input textarea checkbox radio select Bootstrap Input Bootstrap 支持所有的 HTML5 输入类型: text, password, datet

  • 如何制作一个材料自定义表单字段控件(像这样的)来支持表单验证,并用mat-error显示它们?我知道常规的matInput指令使用错误StateMatcher(doc),但我不明白如何将其与自定义表单字段链接。

  • 表单控件允许用户输入数据并为他们提供与应用程序的交互功能。 每个Form UI都控制并继承UIComponent类的属性,而UIComponent类又继承EventDispatcher和其他顶级类的属性。 S.No 控制和描述 1 Flex EventDispatcher类 EventDispatcher类是可以调度事件的所有类的基类。 EventDispatcher类允许显示列表上的任何对象成为

  • Laravel auth中间件给我带来了两天的麻烦。 我已经了解了身份验证系统如何使用JWTtoken。在我的控制器中,一切正常,我获得了用户登录,可以使用Auth::guard进行访问- 但我有一个问题在我的中间件Authenticate.php: 我尝试了我在多个帖子或教程中找到的所有内容,但结果是相同的(在控制器中同时所有工作用户都登录): 授权控制器。php Kernel.php 我尝试在

  • 我为我的网站创建了一个AMP页面,在我的桌面浏览器上运行正常,在我的手机上测试正常,如果某些字段为空或无效,提交错误将正确显示错误消息,并且在成功提交时,它将正确显示提交成功消息。 当我将页面提交给Google缓存amp页面时,我再次测试了表单,这次它没有显示错误或成功消息。但如果表单提交有效,它将向我发送电子邮件,但不会显示成功消息。 表单html代码: PHP页面:

  • 此函数工作正常。当当前工作表不是Google表单响应工作表时。我正在使用(每分钟)触发器 图像:沙子数据(主数据)表至(共享数据1)表 我正在寻找一个,当用户提交的谷歌表格的状态是(支付),数据应该在第二页,这是(shareData1) 这里的问题是,当我使用谷歌表单响应表时,这个函数将不再工作。它显示了一个错误。错误图像 在降级的错误图像中,我手动运行此函数,相同的错误显示在AppScript面