`

AngularJS校验用户输入

阅读更多

        Angular自动为<form>元素增加了一些很好用的特性,使其更适合开发单页面应用。其中一个特性是,Angular允许你为表单中的输入元素定义一个合法的状态,并且只有当所有元素是合法状态时才允许提交表单。

        例如,创建一个新用户注册表单,要求必须输入用户名和邮件地址,但是年龄字段是可选的,在这些字段被提交到服务器之前我们可以校验这几个输入项。

        利用Angular的<form>扩展以及大量的输入元素,我们可以在模板中实现以上效果,示例如下:

<html ng-app='myApp'>
<head>
	<title>form实例</title>
</head>
<body>
	<h1>Sign Up</h1>
	<form name='addUserForm' ng-controller='AddUserController'>
		<div ng-show='message'>{{message}}</div>
		<div>First name:<input ng-model='user.first' required></input></div>
		<div>Last name:<input ng-model='user.last' required></input></div>
		<div>Email:<input type='email' ng-model='user.email' required></input></div>
		<div>Age:<input type='number' ng-model='user.age' ng-maxlength='3' ng-minlength='1'></input></div>
		<div><button ng-click='addUser()' ng-disabled='!addUserForm.$valid'>Submit</button></div>
	</form>
	<script src="lib/angular/angular.js"></script>
	<script>
		var myApp=angular.module('myApp',[]);
		myApp.controller('AddUserController', function($scope) {
			$scope.message = '';
			$scope.addUser = function() {
				$scope.message = 'Thanks,' + $scope.user.first + ',we added you!';
			};
		});
	</script>
</body>
</html>

运行结果:

输入完成后,Submit按钮可点击

点击后页面如下:

        注意,我们使用了HTML5的required属性以及email和number两种输入类型,用来校验其中的一些字段。这一机制在Angular中工作得很好,而对于那些老式的不支持HTML5的浏览器来说,Angular会自动使用指令来适配,从而实现相同的功能。

        在控制器中,我们可以通过$valid属性获取表单的校验状态。当表单中的所有输入项都合法时,Angular将会把这个属性设置为true。我们可以使用$valid属性来做很多很炫的事情,例如当表单没有输入完成时可以禁用Submit按钮。如上实例,我们在Submit按钮上添加一个ng-disabled指令,从而避免提交非法状态的表单。

 

资料来源:《用AngularJS开发下一代Web应用》

  • 大小: 8.5 KB
  • 大小: 10.5 KB
  • 大小: 11.3 KB
分享到:
评论

相关推荐

    AngularJs表单校验实例

    在AngularJS中,表单验证是确保用户输入数据有效性和完整性的关键机制。这篇博文将深入探讨如何在AngularJS中实现表单校验,以创建更健壮和用户体验良好的应用程序。 ### 一、表单基础 在AngularJS中,`&lt;form&gt;`...

    AngularJS表单和输入验证实例

    AngularJS是Google开发的一个开源JavaScript框架,它扩展了HTML,并且引入了模型-视图-控制器(MVC)...通过这些示例,开发者能够了解如何将AngularJS的表单验证应用于实际开发工作中,确保用户输入的有效性和安全性。

    angularjs自定义正则表达校验指令directive

    本教程将详细讲解如何创建一个自定义正则表达式校验指令,以实现对用户输入的http链接和纯数字的有效性验证。 一、理解AngularJS指令 AngularJS指令是用于增强HTML的特殊属性,通过`ng-`前缀标识,如`ng-repeat`、`...

    AngularJS动态校验

    AngularJS动态校验是Web开发中的一个重要概念,尤其在构建复杂表单和处理用户输入时。AngularJS,作为一款强大的JavaScript框架,提供了丰富的功能来帮助开发者实现动态验证,提高用户体验并确保数据的准确性和完整...

    AngularJS Form 进阶:远程校验和自定义输入项

    使用`ng-change`或`ng-blur`事件,可以在用户输入变化或离开输入字段时触发远程验证。通过`$http`服务发送请求,并在收到响应后更新模型的`$error`属性。 ```javascript ()"&gt; ``` ```javascript $scope....

    angularjs自定义指令directive正则表达校验

    这样,当用户输入不符合规则的HTTP地址或非数字时,输入框会显示为红色,并且表单无法提交,直到输入满足条件。 总结,AngularJS自定义指令为我们提供了一种灵活的方式,通过结合正则表达式,可以在前端实现高效的...

    AngularJs表单校验功能实例代码

    在前端开发中,表单校验是一个不可或缺的功能,它能够确保用户输入的数据符合预期的格式,并且有助于提高数据的准确性和安全性。AngularJs在处理表单和表单校验方面提供了丰富的API和指令。 在AngularJs中,表单...

    Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)

    在用户输入时,ng-keyup事件会触发$scopes.clearNoNum函数,从而实现对输入框内容的实时校验。 总结来说,通过创建一个JavaScript函数,并利用AngularJS的ng-keyup事件和ng-model指令,可以有效地控制input元素的...

    图案锁 angularjs

    在图案锁应用中,控制器将处理用户的输入,调用服务来保存和验证图案,以及管理其他业务逻辑。 5. **模型和视图**:在图案锁中,模型将包含用户绘制的图案(如一系列连接的点),而视图则是一个可交互的网格,用户...

    AngularJS入门教程之表单校验用法示例

    1. 必填项校验:使用HTML5的`required`属性可以在用户输入信息前进行校验,确保表单的某个字段已被填写。 2. 文本长度校验:使用`ng-minlength`和`ng-maxlength`指令可以限制输入字段中的字符数,`ng-minlength`...

    AngularJS UI Development

    - **表单验证**:AngularJS内置了表单验证功能,可以很方便地对用户的输入进行校验。例如,使用`ng-required`、`ng-minlength`等属性来设置表单字段的验证规则。 - **服务与工厂**:AngularJS的服务和工厂用于封装可...

    Angularjs使用指令做表单校验的方法

    自定义指令中,使用了正则表达式来定义校验规则,即校验用户输入是否包含数字、大写字母和小写字母至少各一项。通过正则表达式匹配输入值,并返回匹配失败的布尔值,从而实现自定义校验逻辑。 指令中使用了$parser...

    AngularJS实现表单手动验证和表单自动验证

    在探讨AngularJS框架中的表单验证时,我们首先要认识到AngularJS为开发者提供了一套强大的表单处理机制,这包括了手动验证和自动验证两种方式。手动验证主要是利用AngularJS提供的指令和API来实现的,而自动验证则...

    AngularJS表单基础

    AngularJS的表单处理机制涵盖了从基本的输入校验到复杂的状态管理,还包括了针对不同状态的动态样式应用,以及对原生表单行为的兼容。通过学习AngularJS的表单基础,开发者能够创建出更加健壮、易于维护的Web应用...

    AngularJS 最常用的八种功能

    **应用场景**:任何需要用户输入的场景,如文本框、复选框等。 **使用示例**: ```html &lt;span&gt;you input password is {{ password }} ``` **扩展功能**:通过使用过滤器,可以轻松地格式化输出: ```html ...

    精通AngularJS part1

    第10章创建为全球用户服务的AngularJS应用273 101使用本地化的符号和设置274 配置本地化设置模块274 使用已有的本地化设置275 本地化设置和AngularJS过滤器275 102处理翻译277 翻译AngularJS模板中的字符串277...

    AngularJS学习笔记之表单验证功能实例详解

    在AngularJS中,表单验证是一项重要功能,它有助于保证用户输入数据的正确性和完整性。本文将结合实例详细介绍AngularJS在表单验证方面的功能和技巧。 首先,AngularJS提供了多种内置指令来实现表单验证,如`...

Global site tag (gtag.js) - Google Analytics