[Angular] 笔记 15:模板驱动表单 - 表单验证

油管视频: Form Validation

在这里插入图片描述
有三种类型的验证: valid, pristine(是否被编辑过,被改过),以及 touched
在这里插入图片描述
相反的属性: invalid, dirty, untouched

pokemon-template-form.component.html 代码修改:

任何时候看见 "ngModel",就知道是用于表单验证。

<form #form="ngForm">
  Pokemon Name:
  <input type="text" [(ngModel)]="pokemon.name" name="name" />
  <label>
    <input
      type="radio"
      name="isCool"
      [value]="true"
      #pokemonName="ngModel"      增加模板引用变量 pokemonName
      [ngModel]="pokemon.isCool"
    />Pokemon is cool?
  </label>
  <label>
    <input
      type="radio"
      name="isCool"
      [value]="false"
      [ngModel]="pokemon.isCool"
      (ngModelChange)="toggleIsCool($event)"
    />Pokemon is NOT cool?
  </label>
  <label>
    <input
      type="checkbox"
      name="acceptTerms"
      [(ngModel)]="pokemon.acceptTerms"
    />
    Accept Terms?</label
  >
</form>
<div>
  MODEL: {
  { pokemon | json }} 
  FORM: {
  { form.value | json }}
  / 新增code
  ERROR: <div *ngIf="!pokemonName.pristine">NOT PRINSTINE ANYMORE IT IS DIRTY!</div>
</div>

web 界面,如果选了其他 radio button,就会出现“NOT PRINSTINE ANYMORE IT IS DIRTY!”

在这里插入图片描述

相关推荐

  1. Angular自定义异步验证

    2023-12-29 12:02:04       32 阅读
  2. uniapp验证

    2023-12-29 12:02:04       73 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 12:02:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 12:02:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 12:02:04       82 阅读
  4. Python语言-面向对象

    2023-12-29 12:02:04       91 阅读

热门阅读

  1. 【数据库】PostgreSQL中的DISTINCT ON和DISTINCT的区别

    2023-12-29 12:02:04       59 阅读
  2. MD5算法

    MD5算法

    2023-12-29 12:02:04      59 阅读
  3. 编程语言的未来?

    2023-12-29 12:02:04       52 阅读
  4. SpringBoot 中实现订单30分钟自动取消的策略

    2023-12-29 12:02:04       59 阅读
  5. Redis使用中的常见问题及解决方案

    2023-12-29 12:02:04       62 阅读
  6. 湘潭大学软件工程头歌多选题-期末考试复习资料

    2023-12-29 12:02:04       57 阅读
  7. MyBatis之配置文件和映射文件

    2023-12-29 12:02:04       46 阅读
  8. MySQL数据库事务

    2023-12-29 12:02:04       49 阅读