博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular表单验证
阅读量:4636 次
发布时间:2019-06-09

本文共 1310 字,大约阅读时间需要 4 分钟。

AngularJs中的表单

  • 凡是在Angular模板控制范围内的form都会关联一个FormController
  • 凡是带有ngModel指令的表单元素都会关联一个NgModelController
  • FormController和NgModelController共同作用,实现了Angular表单中的输入状态管理和数据验证功能:

    如果希望在指令中使用FromControler/NgModelControler的属性需要为form标签和表单元素标签指定name属性(在指令(ng-show等)中通过name可以访问FormController/NgModelControler对象)
  • 注意:

    使用Angular表单验证时,通常要关闭浏览器的自动验证功能,即在form上设置
    novalidate

    使用ng-pattern指令时,如果希望直接指定正则表达式,则需要加 '' 号否则会被当成作用域中的属性名另外Angular会自动在正则表达式开头加上 ^ 在结尾加上 $ ,请勿重复添加!
  1. FormController常用属性:

    $pristine   boolean 整个表单是否是干净的(未被修改过)$dirty  boolean  表单是否被修改过(任意一个表单元素被修改都算数)$valid   boolean  整个表单是否验证通过$invalid   boolean  表单是否未通过验证$pending   boolean     表单是否有挂起的(未完成的,主要是异步验证)验证$submitted   boolean  是否已经提交过(如点击过提交按扭但是验证失败了)$error    Object  包含了所有未通过验证的验证规则            $error对象的属性是验证规则的名称            $error对象的属性值是相应的表单元素或表单
  2. 内置验证规则的名称($error对象的属性名称):

    emailmaxmaxlengthminminlengthnumberpatternrequiredurldatedatetimelocaltimeweekmonth
  3. NgModelController的常用属性:

    ```
    $error Object 包含了所有未通过验证的验证规则
    $error中的属性名称是验证规则的名称
    $error中的属性值是true

    $pending Object 包含了所有挂起的验证规则

    $pending中的属性名称是验证规则的名称
    $pendiing中的属性值是true

    $untouched boolean 是否从未被点击/触摸过

    $touched boolean 是否失去过焦点
    $pristine boolean 是否从未被修改过
    $dirty boolean 是否被修改过
    $valid boolean 是否所有的验证都验证通过
    $invalid boolean 是否验证未通过
    $name string 表单元素name属性的值
    ```

转载于:https://www.cnblogs.com/jenny-9401/p/5767701.html

你可能感兴趣的文章
码农常用软件
查看>>
(转载-学习)openstack中region、az、host aggregate、cell 概念
查看>>
内存对齐
查看>>
C++对象内存布局,this指针,对象作为参数,作为返回值
查看>>
BCB6 如何跨工程(Project)进行源码级调试
查看>>
proc near/far
查看>>
Dllmain的作用
查看>>
mov offset和lea的区别
查看>>
win7虚拟机安装
查看>>
C++中继承 声明基类析构函数为虚函数作用,单继承和多继承关系的内存分布
查看>>
C++编译器和连接器原理
查看>>
read命令
查看>>
echo如何输出带颜色的文本
查看>>
PComm串口开发
查看>>
git命令详解
查看>>
C++函数声明后面加throw()的作用
查看>>
XA 事务
查看>>
C++ 模板元编程 学习笔记
查看>>
静态联编与动态联编
查看>>
虚函数本质
查看>>