在Angular中,要使响应式表单的验证起作用,需要使用FormGroup和FormControl来创建表单控件,并使用Validators来添加验证规则。以下是一个示例代码,展示了如何解决Angular响应式表单验证不起作用的问题:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
name: ['', Validators.required]
});
}
onSubmit() {
// 处理表单提交的逻辑
}
}
在上面的示例中,我们使用Validators.required来添加了一个必填验证规则。在HTML模板中,我们使用myForm.get('name').invalid来判断表单控件是否无效,以及myForm.get('name').dirty和myForm.get('name').touched来判断表单控件是否被修改过或接触过。如果表单无效并且满足这些条件,就显示一个错误消息。
希望以上解决方法能够帮助您解决Angular响应式表单验证不起作用的问题。