问题标签 [angular2-form-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 如何使用 Validators 类在 Angular2 中显示不同的电子邮件验证验证消息?
我正在使用FormGroup、FormBuilder和Validators类来验证 Angular2 应用程序中的表单。
这就是我为电子邮件和密码验证定义所需验证规则的方式:-
该代码Validators.compose([Validators.required, Validators.email])
检查电子邮件字段是否为空以及提供的字符串是否为有效电子邮件。
但是,我不知道如何在不同的情况下显示不同的验证消息。说
- 如果电子邮件字段为空,我需要显示“请提供电子邮件地址”
- 如果提供的电子邮件无效,那么我需要显示“提供的电子邮件不是有效的电子邮件”。
这是我在 html 中显示验证消息的方式:-
如何在不同的情况下显示不同的消息?
angular - 当多个验证消息满足条件时,在 Angular2 中管理验证消息
我正在使用FormGroup、FormBuilder和Validators类来验证 Angular2 应用程序中的表单。
这就是我为电子邮件和密码验证定义所需验证规则的方式:-
这是我的 html 脚本:-
问题 1: 当单个输入字段显示两条验证消息时,如何只显示一条验证消息?
检查下面给出的这张图片: -
当email
字段内没有数据时,两个验证规则都令人满意:-
- 该字段没有数据,因此需要数据。
- 空数据不是有效的电子邮件,因此需要有效的电子邮件。
我只需要显示一条验证消息,而不是两条验证消息。如果未提供电子邮件,则应显示“您必须添加电子邮件”。当给出电子邮件并且它不是有效的电子邮件时,它只会显示“请提供有效的电子邮件”我该如何实现?
问题2: 如何仅在用户与表单交互时显示验证消息?
目前,即使页面第一次加载,验证消息也会加载。即使用户没有在字段中输入任何值或单击按钮,仍然会显示验证消息。只有当用户对表单执行任何操作时,才会显示验证消息。我怎样才能做到这一点?
angular - 在 Angular 4 中使用自定义验证器进行响应式表单验证
我有一个包含两个字段的表单...一个是一组 3 个复选框(必须选择其中一个),另一个是作为文件的输入类型。(必须选择)。我正在为它们使用响应式表单自定义验证器,并且只有在向表单提供 poper 值之后,我才必须启用提交按钮。但是验证器似乎没有工作。
HTML页面:
零件 :
验证器:
我假设对于 fileUpload 字段,创建的验证器在其结构中是错误的,因为没有 formcontrol 对象作为参数传递。但是对于复选框(selectTool)验证器的大概结构正确,它不起作用。请帮我找出我的错误。提前致谢。
angular - 如何使用模式验证 mat-datepicker 输入?
我正在使用 mat-datepicker,用户可以手动输入日期。我希望能够做这样的事情来验证日期并确保它遵循 MM/DD/YYYY 的模式:
但是,当我执行上述操作时,它不起作用,因为 mat-datepicker 正在将任何带有数字的输入转换为 Date 对象。任何其他不是数字的输入都会将其转换为 null。
有没有办法可以使用模式验证手动输入的文本?
angular - angular 4 形式中至少需要一个字段
我正在使用 angular 4 形式,并且我有一些字段。名字、姓氏和公司对我来说真的很重要。我想强制用户填写这三个字段之一。我该怎么做?
这里是 .ts 代码:
一个html:
angular - Angular 4 错误消息应链接到无效的 formControl
我正在使用以下内容。
1) 表单生成器
2) 表单控件
如果 formControls 输入、收音机等无效,我创建了一个错误摘要以显示表单提交时的所有错误。我想做的是当用户点击错误消息时,他们应该被带到无效的输入字段。
我知道我可以做到的几种方法是:
<a href="formControlElementID">Error message</a>
创建一个函数来设置点击焦点
我知道这些可以工作,但如果存在,我正在寻找一个 Angular 特定的解决方案。我希望通过某种方式使用表单控件名称进行链接。
前任:
是否有内置的东西FormControl
或 Angular 来链接到formControll
输入元素?使用它似乎是多余的,<a href="id">
因为它很可能与 the 同名formControl
,并且它添加#id
到 url 中,然后为路由添加更多工作。设置焦点的 javascript 方法有效,但代码更多。
基于这些,我假设现在必须有某种内置的方法来做到这一点。
更新
关于@Vegas 的回答。但是,这很好用,如果您使用的是表单组,则必须调用不同的模板变量名称,否则在将值传递给子组件以及 formControlName 时,它将尝试为两者传递模板变量。
不正确:
以及尝试使用 [inputName]=name 会导致同样的问题。
正确的:
angular - Angular 模板驱动的表单验证:我应该发布 ngModel 还是 form.value?
这是一个关于 Angular 2+ 模板驱动表单验证的良好实践的问题。
当我有
我应该做
或者
?
angular - ngx-materialize:如何在表单提交时显示验证错误?
页面https://sherweb.github.io/ngx-materialize/form-validation上的所有示例都禁用了提交按钮,直到表单有效。我想让它启用并在提交时显示验证错误(如果有)。
可能吗?
javascript - Angular 6 表单在提交和重置后返回验证错误
我正在使用 angular 6,我有一个表单和一个按钮。当我按下按钮时,应用程序会在表单上方显示表单数据,然后我调用form.reset()
. 但是在表单重置后,输入字段变为红色,因为我在表单中设置了所需的字段。问题出在哪里?
应用程序.html
应用程序.ts