- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为生产控制验证器
的自定义验证器函数。
如果我像这样设置表单,一切正常:
this.validTest = new FormGroup({
isdrawing: new FormControl(true),
inventoryControl: new FormControl(null)
}, { validators: productionControlValidator });
但是,如果我使用这样的表单生成器设置表单:
this.validTest = this.fb.group({
isdrawing: true,
inventoryControl: null
}, { validators: productionControlValidator });
其中fb
在构造函数中定义为private fb: FormBuilder
,那么验证不起作用。我所说的“不起作用”是指表单的有效属性不正确,并且在控制台中我没有看到我期望的输出(它确实使用第一种方法显示)。
我是否没有在第二种方法中正确定义验证器(如果是这种情况,应该如何定义),或者 FormBuilder 是否存在某些问题导致自定义验证器无法使用?
最佳答案
了解更多信息 ---> DEMO
在组件中使用自定义验证服务
import {CustomValidationService } from './custom.service'
this.validTest = this.fb.group({
name: [null, [Validators.required, CustomValidationService.nameValidator],
inventoryControl: [null, [CustomValidation]]
});
您可以将自定义验证服务
创建为:
@Injectable()
export class CustomValidationService {
// Name validation
static nameValidator(control: FormControl) {
if (control.value) {
const matches = control.value.match(/^[A-Za-z\s]+$/);
return matches ? null : { 'invalidName': true };
} else {
return null;
}
}
}
关于使用 FormBuilder 进行 Angular 响应式(Reactive)表单自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51954038/
我有类似的问题: How do I resolve the error I am encountering using custom Validator syntax? FormBuilder gro
我有一个 CRUD 网络表,用于添加、编辑、删除......我使用 FormBuilder 进行表单验证。 this.saisieForm = this.fb.group({ 'val1':
我想知道是否有一种方法可以使用 Angular 2 的 FormBuilder 设置嵌套属性,如下所示: this.form = formBuilder.group({ name: ['', Va
我有这个实现 FormBuilder 的表单。 我需要在输入字段下显示我的自定义验证消息。使用下面的代码,验证器可以在输入字段为空白但不显示我的自定义验证时显示红色的“错误”文本。 .html 和 .
我正在尝试实现一个异步验证器但没有成功...... 我的组件创建了一个表单: this.personForm = this._frmBldr.group({ lastname: [ '', Va
我试图使用 Angular FormBuilder 提供的额外参数映射 group(controlsConfig: { [key: string]: any; }, extra: {
我将我的项目迁移到 angular 11,我注意到我添加的全局验证使 FormBuilder.group不推荐使用以下消息: group is deprecated: This api is not
根据 the Reactive Forms documentation ,我可以从 重构我的 FormGroup 定义 this.heroForm = this.fb.group({ name:
我通过扩展选择字段 (following the tutorial in the cookbook) 创建了自定义“状态”表单类型。选择字段的选项是根据通过服务注入(inject)的参数自动填充的。但
Angular 2,4 formbuilder setvalue() 在下拉选择中使用时无法按预期工作。 我有以下由 Github 组织填充的下拉选择: {{org.organizati
如何在选择的多个上正确构建 FormBuilder? 它只有在没有多重的情况下才有效。 我尝试在 HTML 中使用 FormArray、FormGroupName,但是,都返回错误。而且我遇到的例子总
我正在使用以下 jQuery Formbuilder ( http://formbuilder.readthedocs.io/en/latest/formBuilder/options/typeUse
我使用 Formbuilder 创建一个 FormGroup: myForm = this.fb.group( { title: [""],
我在 Angular 4 中使用 FormBuilder,当没有填写所有字段时,我需要禁用提交按钮。 component.ts public loginForm = this.fb.group({ e
根据 API 文档,更改嵌套值的正确方法是使用方法 patchValue myForm.patchValue({'key': {'subKey': 'newValue'}}); 但如何更改嵌套数组中的
当您有非常定制化的需求时,将 formbuild 与 pylons 结合使用实际上比手动创建您自己的表单 html 更容易吗? 最佳答案 我真的更喜欢纯 html,但它 super 简单使用如下语法填
Angular doc here您可以看到下面的实现。即在 constructor() 中声明 formBuilder 和服务。我知道在 constructor() 中使用服务是一种不好的做法。即我们
我有简单的 Angular FormBuilder 表单(在 Ionic 2 应用程序中),包含 3 个字段: constructor(public navCtrl: NavController, p
我使用 Wagtail 贡献的表单构建器模块在 Wagtail Admin 中创建了一个简单的联系人表单。该表单具有动态添加的字段Name、Email、Subject和Message;模型 Conta
我在一些选择选项中有一个硬空间 ( )。不知何故,在某个地方,他们正在逃脱。我试过: {% autoescape false %} {{ form_widget(foobar) }} {% e
我是一名优秀的程序员,十分优秀!