7.状态字段

用户名初始化后就是非空的,不应该显示错误信息,用户还没操作过。
touched和untouched:关注是否获取过焦点。
pristine(本来的,原来的)和dirty:如果一个字段的值从来没有被改变过,那么它的pristine是true,dirty为false;修改过,pristine是false, dirty是true

pending:当一个字段处于异步校验时,为true,显示图片或者文字让用户知道你正在异步校验。

根据状态添加样式

.hasError{border:solid 1px red;}
<form [formGroup]="formModel" (submit)="onSubmit()">
  <div>用户名:<input [class.hasError]="formModel.get('username').invalid && formModel.get('username').touched" type="text" name="username" formControlName="username"/></div>
<div [hidden]="formModel.get('username').valid || formModel.get('username').untouched"><!--控制整体的错误信息是显示还是不显示,用户信息通过或者用户名输入框获取焦点-->
  <div [hidden]="!formModel.hasError('required','username')">
    用户名是必填项
  </div>
  <div [hidden]="!formModel.hasError('minlength','username')">
    用户名最新长度是6
  </div>
</div>
  <div>手机号:<input type="text" name="mobile" formControlName="mobile"/></div>
  <div [hidden]="formModel.get('mobile').valid || formModel.get('mobile').pristine">
      <div [hidden]="!formModel.hasError('mobile','mobile')">请输入正确的手机号</div>
  </div>
  <div [hidden]="!formModel.get('mobile').pending">
    正在校验手机号的合法性
  </div>
  <div formGroupName="passwordsGroup">
     <div>密码:<input type="text" name="password" formControlName="password"/></div>
    <div [hidden]="!formModel.hasError('minlength',['passwordsGroup','password'])">密码最小长度是6</div>
     <div>确认密码:<input type="text" name="confirmpass" formControlName="confirmpass"/></div>
    <div [hidden]="!formModel.hasError('equal','passwordsGroup')">{{formModel.getError('equal','passwordsGroup')?.descxx}}</div>
  </div>
  <div><input type="submit" value="提交"/></div>
</form>
<div>{{formModel.status}}</div><!--表单的状态-->

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.简单的H5表单 当我们点击注册按钮的时候会对表单进行校验 2.Angular表单的分类 两种表单的不同点 3....
    神豪VS勇士赢阅读 4,210评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,296评论 19 139
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,782评论 0 15
  • 一切都是为了用户体验,和开发简易 —— 马丁路德.东 概念form表单的状态字段 touched和untouche...
    马丁路德东阅读 2,755评论 0 0
  • 前一段时间《大鱼海棠》刷爆了朋友圈,实际上中国有很多好动画,高质量、有趣又美的赏心悦目。今天就给大家安利15部中国...
    飒魔王阅读 7,826评论 2 6

友情链接更多精彩内容