javascript - 动态字段的Angular 7表单验证
问题描述
我的表单包含 2 个复选框,如果我选择其中一个复选框,它将填充一个文本框(子问题)。在我的场景中,我有 2 个复选框和 2 个文本框和一个提交按钮。两个文本框都是必填字段。
如果用户在没有输入文本框的情况下提交表单,它应该显示错误消息。
让我们假设
用户选择第一个复选框,因此将填充文本框 1。然后用户填写 textbox1 并点击提交按钮,表单提交正常。
在我的场景中。
用户在提交表单后选择了第二个复选框,因此子问题带有错误消息。但我希望再次点击提交按钮后会出现第二个文本框错误消息。
请参阅stackblitz中的示例以获得更好的理解。
解决方案
它显示消息是因为表单已经提交,并且基于 html 条件,它在提交之前显示错误消息。
提交表单后,您可以使用访问submit
角度表单的属性,ViewChild
并且可以将其设置为false
. 希望这能解决您的问题
import { Component, ViewChild, ElementRef } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
title = 'InputDirective';
checkbox_a:boolean;
checkbox_b:boolean;
textbox1:string;
textbox2:string;
@ViewChild("angularForm", {static: false}) public angularForm: any;
onSubmit() {
alert('form submitted success..');
this.angularForm.submitted = false;
}
}
Stacblitz 链接 --> https://stackblitz.com/edit/angular-jjm3lq
推荐阅读
- python - 是否有一个函数可以在对象中打印对象的字符串?
- php - 链接到我的 Wordpress 模板中的翻译页面
- c# - 如何将此字符串“14012019”转换为日期时间
- google-api - Alexa 技能帐户与 Google API 凭据链接,刷新令牌时出现问题
- c - 将 char 分配给 char - 意外行为
- canvas - 缩放画布时 EaselJS 对象位置发生变化
- image - 没有从 react-native 中的嵌套 json 获取数据
- c++ - cURL Windows 构建配置的说明
- pandas - 如何使用 pandas.dataframe() 函数转换 Python 的嵌套 dic 作为响应
- cordova - PayTm 插件需要一个参数:MERCHANT_ID、INDUSTRY_TYPE_ID、WEBSITE