Angular 表单验证教程 📚

Angular 提供了强大的表单验证机制,帮助开发者确保用户输入的数据符合预期。以下是关键知识点总结:

1. 内置验证器 🛡️

  • required: 必填字段
  • email: 验证邮箱格式
  • minlength/maxlength: 设置最小/最大长度
  • pattern: 正则表达式匹配
  • min/max: 数值范围限制
  • 示例:
    <input formControlName="username" pattern="[a-zA-Z0-9]{3,}" required>
    

2. 模板驱动验证 🧩

  • 使用 ngModelrequired 等属性
  • 实时显示错误提示:
    <div *ngIf="form.get('password')?.invalid && form.get('password')?.touched">
      密码格式不正确!
    </div>
    

3. 响应式表单验证 🧠

  • 通过 FormGroupFormControls 管理
  • 自定义验证器示例:
    function validatePassword(control: AbstractControl) {
      const value = control.value;
      if (value && !value.includes('123')) {
        return { noNumbers: true };
      }
      return null;
    }
    

4. 错误提示与样式 🎨

  • 结合 ngClass 动态绑定样式
  • 错误信息本地化:
    <div [ngClass]="{ 'text-danger': form.get('email')?.invalid }">
      {{ form.get('email')?.getError('required') ? '必填' : '格式错误' }}
    </div>
    
Angular_Form_Validation

5. 扩展阅读 🔗

Form_Validation_Example

📌 提示:验证逻辑应结合业务需求,避免过度约束用户体验。