`
流浪的我
  • 浏览: 33917 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

angular.js 表单验证

 
阅读更多

构建一个ng表单

1.确保form上标签有一个name属性,像下面的例子一样。最好再加一个novalidate=”novalidate”

2.form中不能有action属性。提交交由ng-submit处理

3.每个input一定要有ng-model,最好有一个name方便引用。然后用require或者ng-minlength之类才起作用

<form name="form" novalidate="novalidate">
  <label name="email">Your email</label>
  <input type="email" name="email" ng-model="email" placeholder="Email Address" />
</form>

 ng默认提供了验证

验证是否已输入文字,只需在标签上加上required:


<input type="text" ng-model="user.name" required />

验证至少输入{number}个字符,使用指令ng-minlength=“{number}”:


<input type="text" ng-model="user.name" ng-minlength="5" />

验证至多输入{number}个字符,使用指令ng-maxlength=“{number}”:


<input type="text" ng-model="user.name" ng-maxlength="20" />

确保输入匹配一个正则表达式,使用指令ng-pattern="/PATTERN/":


<input type="text" ng-model="user.name" ng-pattern="/a-zA-Z/" />

验证输入是一个Email,设置input的type属性为email:

<input type="email" name="email" ng-model="user.email" />

验证输入是一个数字,设置input的type属性为number:

<input type="number" name="number" ng-model="user.age" />

验证输入是一个URL,设置input的type属性为url

<input type="url" name="homepage" ng-model="user.weburl" />

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<h2>验证实例</h2>

<form ng-app="myApp" ng-controller="validateCtrl" 
name="myForm" novalidate>

<p>用户名:<br>
<input type="text" name="user" ng-model="user" required>
<span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
<span ng-show="myForm.user.$error.required">用户名是必须的。</span>
</span>
</p>

<p>邮箱:<br>
<input type="email" name="email" ng-model="email" required>
<span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
<span ng-show="myForm.email.$error.required">邮箱是必须的。</span>
<span ng-show="myForm.email.$error.email">非法的邮箱地址。</span>
</span>
</p>

<p>
<input type="submit"
ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||  
myForm.email.$dirty && myForm.email.$invalid">
</p>

</form>

<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function($scope) {
    $scope.user = 'John Doe';
    $scope.email = 'john.doe@gmail.com';
});
</script>

</body>
</html>

 结果为:

验证实例

用户名:

邮箱:
 邮箱是必须的。

解析

AngularJS ng-model 指令用于绑定输入元素到模型中。

 

模型对象有两个属性: user 和 email

我们使用了 ng-show指令, color:red 在邮件是 $dirty 或 $invalid 才显示。

$dirty          表单有填写记录

$valid          字段内容合法的

$invalid        字段内容是非法的

$pristine       表单没有填写记录

分享到:
评论

相关推荐

    angular.js-master.zip

    4. **表单处理和验证**:AngularJS提供了内置的表单验证机制,可以实时检查用户输入,并在视图中显示验证状态。 5. **服务**:AngularJS的服务是可重用的代码块,如$http服务用于发起HTTP请求,$rootScope服务是...

    基于angular.js日期选择器.zip

    在本文中,我们将深入探讨如何使用Angular.js框架创建一个功能丰富的日期选择器。...无论是在表单中收集日期信息,还是在应用程序的其他部分展示日期,基于Angular.js的日期选择器都是一个实用的解决方案。

    angular.js-1.6.9

    9. **表单处理**:AngularJS提供了内置的表单验证和模型绑定,如`ng-model`用于绑定输入字段,`ng-valid`、`ng-invalid`用于状态检查。1.6.9版本进一步优化了表单处理的性能和用户体验。 10. **动画**:AngularJS的...

    Angular.js实现注册系统的实例详解.docx

    在上面的示例代码中,我们使用了 Angular.js 的表单验证功能,来验证用户输入的注册信息。例如,我们可以使用 `ng-required` 指令来设置输入框内必需填写内容,使用 `ng-pattern` 指令来设置正则验证规则。 总结 ...

    Angular.js.zip

    8. **表单和验证**:Angular提供了内置的表单处理和验证机制,使得客户端验证变得更加简单。 9. **过滤器**:过滤器用于格式化或转换数据,例如日期格式化、货币转换或数组排序。 10. **测试**:Angular支持单元...

    angular.js开发框架

    8. **表单处理**:AngularJS提供了表单验证和数据绑定,使得表单的处理变得更加直观和便捷。 9. **单元测试和端到端测试**:AngularJS支持 Karma 和 Jasmine 进行单元测试,Protractor 用于端到端测试,确保应用的...

    angular.js-1.7.8.zip

    1. 表单验证:AngularJS内置的表单验证机制可以实时反馈用户输入的有效性,提升用户体验。 2. 数据绑定:通过双向数据绑定,可以轻松实现表格、下拉框等组件的数据展示和编辑。 3. RESTful API通信:利用$http服务与...

    angular-1.8.0.zip

    4. **表单处理**:Angular.js提供了内置的表单验证机制,通过ng-model、ng-required等指令实现。 5. **测试**:支持单元测试和端到端测试,如 Karma 和 Protractor 工具。 五、迁移与升级 虽然Angular.js 1.8.0...

    angular-1.4.0.zip

    7. **表单和验证(Forms and Validation)**:Angular.js 1.4.0提供了强大的表单处理和验证功能,可以轻松实现客户端验证,提升用户体验。 8. **动画(Animations)**:AngularJS 1.4.0引入了更完善的动画API,使得...

    angular-angular.js-v1.4.5-15-gc71d414.zip

    这个压缩包“angular-angular.js-v1.4.5-15-gc71d414.zip”包含了AngularJS 1.4.5版本的源代码,这是一个重要的中间版本,具有显著的改进和修复。 1. 版本号解析: - "v1.4.5" 表示这是AngularJS 1.x系列中的第1....

    angular.js学习

    7. 表单处理:AngularJS提供了内置的表单和字段验证机制,如ngModel、ngSubmit、ngRequired等,能够方便地实现客户端验证,提升用户体验。 8. 过滤器(Filters):过滤器用于格式化和转换数据,例如日期格式化、...

    WebService-Cliente-Angular.js:使用现成的前端、单页应用程序和模板进行项目

    6. 表单处理:Angular.js提供了内置的表单验证和模型驱动的表单,简化了表单的创建和管理。 7. 服务:Angular.js的服务是一种可注入的实体,用于封装应用中的业务逻辑或数据访问,如$http服务用于发送HTTP请求,$...

    angular.js实现购物车功能

    6. 表单验证:Angular.js提供了内置的表单验证机制,可以用来确保用户输入正确。本例中,使用了confirm弹窗来询问用户是否真的想要删除商品,这可以视为一种简单的验证。 7. 计算总价格:通过遍历商品数组,并累加...

    simple-banker:基于angular.js的简单银行应用程序

    8. **表单处理(Form Handling)**:Angular.js提供了强大的表单处理能力,包括验证和模型绑定。在银行应用中,表单可能用于输入转账金额和接收方账号,Angular.js会自动处理这些输入。 9. **测试**:Angular.js...

    Angular2.js实现表单验证详解

    下面我将详细解释Angular2.js实现表单验证的知识点。 首先,我们需要了解Angular表单的两种类型:模板驱动表单和响应式表单。模板驱动表单是较为简单的一种形式,适用于简单的表单需求。响应式表单提供了更细粒度的...

    Learning-Angular:学习 Angular.js

    7. **表单验证**:Angular.js 提供了内置的表单验证机制,允许在客户端对用户输入进行实时验证。通过`ng-model`和`ng-required`等属性,可以轻松实现表单验证。 8. **路由**:AngularJS 使用`ngRoute`或`ui-router`...

    Apress.Angular.for.Material.Design.2019年12月最新的angular8 material设计风格

    此外,还会涉及数据绑定、服务注入、路由、表单验证等Angular核心概念,以及如何利用Angular CLI工具进行开发和测试。通过实际项目案例,读者可以深入理解Angular 8与Material Design的集成,并提升开发效率和应用...

    Angular.js回顾ng-app和ng-model使用技巧

    Angular.js是一个非常流行的JavaScript框架,主要用于开发动态的单页面应用程序。在Angular.js中,ng-app和ng-model是两个非常核心的指令(directives),它们分别用于启动Angular.js应用和数据绑定。 首先,让我们...

    [权威的angular 4教程(代码)] ng-book.2.Angular.4.r60.2017.4.pdf 书中的代码

    模板驱动表单使用ngModel指令,而响应式表单基于FormControl对象,提供更高级别的控制和验证。 6. **模块化**:Angular 4引入了NgModule,它是Angular应用的构造块。每个模块可以包含组件、指令、管道和服务,使得...

    test_angular:这是一些 angular.js 测试的静态演示

    表单和表单验证** Angular.js提供了一套完整的表单处理机制,包括表单的脏值检查、表单状态管理以及客户端验证。通过 ngModel 指令,我们可以轻松地将表单控件与模型绑定,并利用内置的验证规则进行实时验证。 综...

Global site tag (gtag.js) - Google Analytics