问题标签 [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 - Angular 表单验证失败,导致一些问题?
我有这个表格或表格数组和书籍模型:
所以我用现有结果启动 formArray 并显示这个 formArray 表
在此表中,名称列是可编辑的。当我编辑'aaa'
到'bbb'
时,表单验证显然会失败,因为它具有唯一的验证updateOn: 'blur'
。问题是:如果我保持这个变化:'aaa' -> 'bbb'
。然后单击其他名称字段,其他名称字段无法编辑。这似乎是合理的,但我只是不需要它。
angular - 如何手动更改表单状态?或者在重新分配表格之前要做什么?
出于某种原因,我必须手动更改表单状态。
就我而言,如果表单验证失败,我可以单击刷新按钮,然后表单将再次启动。但是验证失败状态仍然存在,因此导致了一些问题,所以我必须在重新分配之前更改表单状态。其实我该怎么办?
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.
angular - Angular 反应式表单表单组验证仅适用于 Mat-table 中的任何一行
我有多行的 Mat 表,带有添加按钮,单击它,添加一个新行。我想为所有行添加验证,现在我下面的代码只对任何一行进行验证。
我的 component.html
我的 component.ts 文件
angular-reactive-forms - 使用 Reactive-Forms 时如何在 Angular-8 中分离“实现的条件验证服务/功能”
我已经在我的组件中实现了条件验证。我正在尝试将验证逻辑从我的组件分离到另一个组件/服务。
演示链接:http://StackBlitz%20https://stackblitz.com/edit/angular-amr86r
angular - Angular,有没有办法“markAsTouched”没有表单的字段?
我已经知道 a 中input
的项目FormControl
可以被标记dirt
或touched
通过调用以下任何方法(可能更多): group.markAsTouched(); form.get('control-name').markAsTouched(); form.markAllAsTouched(); form.controls[someIndex].markAsTouched();
但是,我可以看到当输入为thenmarkAsTouched
时似乎调用了该方法。focus
blur
有没有办法通过代码实现相同的结果?可以说,当单击一个按钮时。
在这里,您可以看到没有表单的当前标准行为的 gif 图像,您也可以在以下实时示例中自行测试:
https://stackblitz.com/edit/angular-peq11f
对我来说,很明显这种行为应该可以由代码触发,而不仅仅是在blur
触发事件时
像这样的东西:
angular - 在 Angular 8 中使用 ngModel 和 ngModelOption 进行表单验证
我正在使用带有 formGroup 和 formController 的 angular 8 进行验证,这在反应式和模板驱动的表单中效果很好。但是,我试图在 Angular 8 中使用带有“ngModelOptions”属性的“ngModel”(这是一个动态生成的字段)。它使用“必需”属性正确显示字段级验证,但我无法阻止按钮单击或在错误验证状态下禁用“按钮”。下面给出了一个示例代码:
尽管名字和姓氏字段为空白,但提交按钮永远不会被禁用。我了解当您将其标记为独立时:true 这不会发生(它不会添加到 FormGroup)。但是是否有任何解决方法或其他方法可以实现 ngModel 验证以限制按钮上的表单提交?
angular - 基于条件的动态验证
场景:我有 4 个表单域。
- 说明(可选)
- 选择类型(必填)
- Phone (Required only if Select Type is set to 'Phone')
- Email (Required only if Select Type is set to 'Email')
当我更改任何内容是选择类型字段时,根据选择,电话字段或电子邮件字段将可见。我需要验证这些字段。
问题:
当表单加载时,它只有描述、选择类型下拉菜单和保存按钮。
步骤1:点击保存按钮不输入任何输入,应该会抛出一个警告说Select Type is required
,选择类型将是红色的。
步骤 2:选择一个类型,下一个输入变为可见,带有红色边框。这不应该发生,因为用户没有触及该字段。我该如何解决这个问题?
代码:
html
零件:
angular - Angular Reactive Form Validation:不允许小于现有数字的数字
我有一个 Angular 反应形式的数字输入字段。
我想在输入小于初始值的值时显示错误消息。我需要创建一个自定义验证器还是有更简单的方法来做同样的事情。
angular - 我如何将 html 代码附加到 Angular 中自定义指令的输入字段
我试图以角度形式显示字段的错误:
当我们在表单字段中进行更改并在控制台中打印它时,我能够得到错误,但我无法将其附加到 html 中:
app.component.html:
这里 validate 是自定义指令,不,我想这样:
我的自定义指令文件是:
我想将 this.message 附加到上述输入字段。