首页 > 软件开发 > JavaScript >

AngularJS表单验证功能

来源:互联网 2023-03-16 23:57:22 448

能够根据用户在表单中输入的内容给出实时视觉反馈是非常重要的。在人与人沟通的语境中,表单验证给出来的反馈同获得正确输入同等重要。vyE办公区 - 实用经验教程分享!

表单验证不仅能给用户提供有用的反馈,同时也能保护Web应用不会被恶意或者错误的输入所破坏。在Web前端尽力保护后端。vyE办公区 - 实用经验教程分享!

工具/原料

  • JavaScript

方法/步骤

  • 1

    AngularJS能够将HTML5表单验证功能同它自己的验证指令结合起来使用,并且非常方便。AngularJS提供了很多表单验证指令。vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 2

    要使用表单验证,首先要确保表单像上面的例子一样有一个 name 属性。vyE办公区 - 实用经验教程分享!

    所有输入字段都可以进行基本的验证,比如最大、最小长度等。这些功能是由新的HTML5表单属性提供的。vyE办公区 - 实用经验教程分享!

    如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加 novalidate 标记vyE办公区 - 实用经验教程分享!

    1. 必填项 requiredvyE办公区 - 实用经验教程分享!

    验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记 required 即可:vyE办公区 - 实用经验教程分享!

    注释:required 属性适用于以下 input> 类型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 filevyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 2相关内容未经许可获取自百度经验
  • 3

    2. 最小长度 ng-minleng="{number}"vyE办公区 - 实用经验教程分享!

    验证表单输入的文本长度是否大于某个最小值,在输入字段上使用AngularJS指令 ng-minleng="{number}"vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 4

    3. 最大长度 ng-maxlength="{number}"vyE办公区 - 实用经验教程分享!

    验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用AngularJS指令 ng-maxlength="{number}"vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 5

    4. 模式匹配 ng-pattern="/PATTERN/"vyE办公区 - 实用经验教程分享!

    使用 ng-pattern="/PATTERN/" 来确保输入能够匹配指定的正则表达式:vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 6

    5. 电子邮件vyE办公区 - 实用经验教程分享!

    验证输入内容是否是电子邮件,只要像下面这样将 input 的类型设置为 email 即可:vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 7

    6. 数字vyE办公区 - 实用经验教程分享!

    验证输入内容是否是数字,将 input 的类型设置为 number :vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 8

    7. URLvyE办公区 - 实用经验教程分享!

    验证输入内容是否是URL,将 input 的类型设置为 url :vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 9

    在表单中控制变量vyE办公区 - 实用经验教程分享!

    表单的属性可以在其所属的 $scope 对象中访问到,又可以访问 $scope 对象,因此JavaScript可以间接地访问DOM中的表单属性。借助这些属性,我们可以对表单做出实时(和AngularJS中其他东西一样)响应。这些属性包括下面这些。(注意,可以使用下面的格式访问这些属性。)vyE办公区 - 实用经验教程分享!

    formName.inputFieldName.propertyvyE办公区 - 实用经验教程分享!

    未修改的表单vyE办公区 - 实用经验教程分享!

    这是一个布尔属性,用来判断用户是否修改了表单。如果未修改,值为 true ,如果修改过值为 falsevyE办公区 - 实用经验教程分享!

    formName.inputFieldName.$pristinevyE办公区 - 实用经验教程分享!

    修改过的表单vyE办公区 - 实用经验教程分享!

    只要用户修改过表单,无论输入是否通过验证,该值都返回 truevyE办公区 - 实用经验教程分享!

    formName.inputFieldName.$dirtyvyE办公区 - 实用经验教程分享!

    合法的表单vyE办公区 - 实用经验教程分享!

    这个布尔型的属性用来判断表单的内容是否合法。如果当前表单内容是合法的,下面属性的值就是 true :vyE办公区 - 实用经验教程分享!

    formName.inputFieldName.$validvyE办公区 - 实用经验教程分享!

    不合法的表单vyE办公区 - 实用经验教程分享!

    个布尔属性用来判断表单的内容是否不合法。如果当前表单内容是不合法的,下面属性的值为 true :vyE办公区 - 实用经验教程分享!

    formName.inputFieldName.$invalidvyE办公区 - 实用经验教程分享!

    错误vyE办公区 - 实用经验教程分享!

    这是AngularJS提供的另外一个非常有用的属性: $error 对象。它包含当前表单的所有验证内容,以及它们是否合法的信息。用下面的语法访问这个属性:vyE办公区 - 实用经验教程分享!

    formName.inputfieldName.$errorvyE办公区 - 实用经验教程分享!

    $parsersvyE办公区 - 实用经验教程分享!

    当用户同控制器进行交互,并且 ngModelController 中的 $setViewValue() 方法被调用时,$parsers 数组中的函数会以流水线的形式被逐个调用。第一个 $parse 被调用后,执行结果会传递给第二个 $parse ,以此类推vyE办公区 - 实用经验教程分享!

    这些函数可以对输入值进行转换,或者通过 $setValidity() 函数设置表单的合法性。vyE办公区 - 实用经验教程分享!

    使用 $parsers 数组是实现自定义验证的途径之一。vyE办公区 - 实用经验教程分享!

    例如,想要确保输入值在某两个数值之间,可以在 $parsers 数组中入栈一个新的函数,这个函数会在验证链中被调用。vyE办公区 - 实用经验教程分享!

    每个 $parser 返回的值都会被传入下一个 $parser 中。当不希望数据模型发生更新时返回undefined 。vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 10

    javascript ( test5app.js )vyE办公区 - 实用经验教程分享!

    AngularJS表单验证功能vyE办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!vyE办公区 - 实用经验教程分享!


    标签: 编程语言JAVASCRIPT

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码