forms - Angular 4有条件地删除所需的验证器

标签 forms angular validation typescript

在 Angular 4 应用程序中,我有一个这样的表单模型:

this.form = this._fb.group({
    title: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(50)]],
    description: ['', [Validators.required, Validators.minLength(3)]]
});

现在我想要的是仅从控件验证器数组中动态删除所需的验证器。像这样:

saveDraft() {
    this.form.controls['title'].removeValidator('required'); //Just a fake implementation for demonstration
}

这个问题不是上述问题的重复。我的情况不同,我只是想在不知不觉中删除所需的验证器。

最佳答案

如果你想添加验证试试这个。

saveDraft() {
   this.form.get('title').setValidators([Validators.required, Validators.minLength(3)]);
   this.form.get('title').updateValueAndValidity();
}

如果你想删除验证器试试这个。

saveDraft() {
 this.form.get('title').clearValidators();
 this.form.get('title').updateValueAndValidity();
}

关于forms - Angular 4有条件地删除所需的验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488078/

相关文章:

java - 使用 xml 文件验证 struts 不起作用

html - HTML5 验证时出现空标题警告

javascript - PreventDefault 的问题。提交表格

javascript - 表单迭代功能无法正常工作

PHP Form 不向 mySQL 数据库添加数据?

javascript - 如何在 Angular 4 中将样式导出为 css 文件

typescript - Angular 2 将复杂的服务注入(inject)到服务中

angular - Angular 模板中的 getter 和调用函数之间的性能差异

html - rails : form_for checkbox set to true or false whether the box is checked/unchecked

java - JSF 2 View 验证上的 JBoss AS 7.1.1.Final : serverError: class java. lang.IllegalStateException