问题标签 [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.

0 投票
1 回答
98 浏览

angular - Angular 表单验证失败,导致一些问题?

我有这个表格或表格数组和书籍模型:

所以我用现有结果启动 formArray 并显示这个 formArray 表

在此表中,名称列是可编辑的。当我编辑'aaa''bbb'时,表单验证显然会失败,因为它具有唯一的验证updateOn: 'blur'。问题是:如果我保持这个变化:'aaa' -> 'bbb'。然后单击其他名称字段,其他名称字段无法编辑。这似乎是合理的,但我只是不需要它。

0 投票
1 回答
521 浏览

angular - 如何手动更改表单状态?或者在重新分配表格之前要做什么?

出于某种原因,我必须手动更改表单状态。

就我而言,如果表单验证失败,我可以单击刷新按钮,然后表单将再次启动。但是验证失败状态仍然存在,因此导致了一些问题,所以我必须在重新分配之前更改表单状态。其实我该怎么办?

0 投票
1 回答
570 浏览

angular - form async validation when updateOn is blur, to subscribe statusChanges or valueChanges

I am using form async validation with updatOn: 'blur' in my Angular7 application. stackblitz

in this situation, I need to check if the name is unique(async validation).

question is, where to put this code?

Current way

I tried this,in child component

it worked. But I have at least 10 attributs to do form validation, this will add too many codes to this @Input() set myForm() {}, so I need to do this in another function.

So, I quit to subscribe statusChange in the @Input attribute. if not here, where should I do this?

And I can't subscribe statusChange in ngOnInit, cause value is undefined in ngOnInit.

Anyone helps me pls.

0 投票
2 回答
1639 浏览

angular - Angular 反应式表单表单组验证仅适用于 Mat-table 中的任何一行

我有多行的 Mat 表,带有添加按钮,单击它,添加一个新行。我想为所有行添加验证,现在我下面的代码只对任何一行进行验证。

我的 component.html

我的 component.ts 文件

0 投票
1 回答
355 浏览

angular-reactive-forms - 使用 Reactive-Forms 时如何在 Angular-8 中分离“实现的条件验证服务/功能”

我已经在我的组件中实现了条件验证。我正在尝试将验证逻辑从我的组件分离到另一个组件/服务。

演示链接:http://StackBlitz%20https://stackblitz.com/edit/angular-amr86r

0 投票
1 回答
2518 浏览

angular - Angular,有没有办法“markAsTouched”没有表单的字段?

我已经知道 a 中input的项目FormControl可以被标记dirttouched通过调用以下任何方法(可能更多): group.markAsTouched(); form.get('control-name').markAsTouched(); form.markAllAsTouched(); form.controls[someIndex].markAsTouched();

但是,我可以看到当输入为thenmarkAsTouched时似乎调用了该​​方法。focusblur

有没有办法通过代码实现相同的结果?可以说,当单击一个按钮时。


在这里,您可以看到没有表单的当前标准行为的 gif 图像,您也可以在以下实时示例中自行测试:

https://stackblitz.com/edit/angular-peq11f

对我来说,很明显这种行为应该可以由代码触发,而不仅仅是在blur触发事件时

像这样的东西:

0 投票
1 回答
3346 浏览

angular - 在 Angular 8 中使用 ngModel 和 ngModelOption 进行表单验证

我正在使用带有 formGroup 和 formController 的 angular 8 进行验证,这在反应式和模板驱动的表单中效果很好。但是,我试图在 Angular 8 中使用带有“ngModelOptions”属性的“ngModel”(这是一个动态生成的字段)。它使用“必需”属性正确显示字段级验证,但我无法阻止按钮单击或在错误验证状态下禁用“按钮”。下面给出了一个示例代码:

尽管名字和姓氏字段为空白,但提交按钮永远不会被禁用。我了解当您将其标记为独立时:true 这不会发生(它不会添加到 FormGroup)。但是是否有任何解决方法或其他方法可以实现 ngModel 验证以限制按钮上的表单提交?

0 投票
2 回答
519 浏览

angular - 基于条件的动态验证

场景:我有 4 个表单域。

  1. 说明(可选)
  2. 选择类型(必填)
  3. Phone (Required only if Select Type is set to 'Phone')
  4. Email (Required only if Select Type is set to 'Email')

当我更改任何内容是选择类型字段时,根据选择,电话字段或电子邮件字段将可见。我需要验证这些字段。

问题:

当表单加载时,它只有描述、选择类型下拉菜单和保存按钮。

步骤1:点击保存按钮不输入任何输入,应该会抛出一个警告说Select Type is required,选择类型将是红色的。

步骤 2:选择一个类型,下一个输入变为可见,带有红色边框。这不应该发生,因为用户没有触及该字段。我该如何解决这个问题?

代码:

Stackblitz 代码

html

零件:

0 投票
1 回答
5847 浏览

angular - Angular Reactive Form Validation:不允许小于现有数字的数字

我有一个 Angular 反应形式的数字输入字段。

我想在输入小于初始值的值时显示错误消息。我需要创建一个自定义验证器还是有更简单的方法来做同样的事情。

0 投票
0 回答
198 浏览

angular - 我如何将 html 代码附加到 Angular 中自定义指令的输入字段

我试图以角度形式显示字段的错误:

当我们在表单字段中进行更改并在控制台中打印它时,我能够得到错误,但我无法将其附加到 html 中:

app.component.html:

这里 validate 是自定义指令,不,我想这样:

我的自定义指令文件是:

我想将 this.message 附加到上述输入字段。