`

angularjs表单登录验证

 
阅读更多

主要利用angularjs的数据绑定特性,可以不用jquery去直接dom操作获取表单数值

前段index.html代码如下:

<!doctype html>
<html>
<head>
	<title>测试</title>
	<meta charset="utf-8">
	<!-- LOAD BOOTSTRAP CSS -->
	<link rel="stylesheet" href="bs/css/bootstrap.min.css">

	<!-- LOAD JQUERY -->
	<script src="./jquery-1.11.1.min.js"></script>
	<!-- LOAD ANGULAR -->
	<script src="./angular.min.js"></script>

	<!-- PROCESS FORM WITH AJAX (NEW) -->
	<script>

		// define angular module/app
		var formApp = angular.module('formApp', []);

		// create angular controller and pass in $scope and $http
		function formController($scope, $http) {

			// create a blank object to hold our form information
			// $scope will allow this to pass between controller and view
			$scope.formData = {};

			// process the form
			$scope.processForm = function() {
				$http({
			        method  : 'POST',
			        url     : 'post.php',
			        data    : $.param($scope.formData),  // pass in data as strings
			        headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)
			    })
			        .success(function(data) {
			            //console.log(data);

			            if (!data.success) {
			            	// if not successful, bind errors to error variables
			                $scope.errorName = data.errors.name;
			                $scope.errorLogin = data.errors.login;
			                $scope.errorPasswd = data.errors.passwd;
			            } else {
			            	// if successful, bind success message to message
			                $scope.errorName = null;
			                $scope.errorLogin = null;
			                $scope.errorPasswd = null;
			                $scope.message = data.message;
			            }
			        });

			};
		}
	</script>
</head>
<!-- apply the module and controller to our body so angular is applied to that -->
<body ng-app="formApp" ng-controller="formController">
<div class="container">
<div class="col-md-4 col-md-offset-4">

	<!-- PAGE TITLE -->
	<div class="page-header">
		<h1>用 Angular 登录</h1>
	</div>

	<!-- SHOW ERROR/SUCCESS MESSAGES -->
	<div id="messages" class="well" ng-show="message">{{ message }}</div>

	<!-- FORM -->
	<form ng-submit="processForm()" ng-class="{'has-error' : errorLogin}">
		<div id="name-group" class="form-group" ng-class="{ 'has-error' : errorName }">
			<label>账户</label>
			<input type="text" name="name" class="form-control" placeholder="QQ/账户名/手机号" ng-model="formData.name">
			<span class="help-block" ng-show="errorName">{{ errorName }}</span>
		</div>

		<div id="passwd-group" class="form-group" ng-class="{ 'has-error' : errorPasswd }">
			<label>密码</label>
			<input type="password" name="passwd" class="form-control" placeholder="" ng-model="formData.passwd">
			<span class="help-block" ng-show="errorPasswd">{{ errorPasswd }}</span>
		</div>

		<!-- SUBMIT BUTTON -->
		<button type="submit" class="btn btn-success btn-lg btn-block">
			<span class="glyphicon glyphicon-flash"></span> 登录
		</button>
		<span class="help-block" ng-show="errorLogin">{{ errorLogin }}</span>
	</form>

	<!-- SHOW DATA FROM INPUTS AS THEY ARE BEING TYPED -->
	<pre>
		{{ formData }}
	</pre>
</div>
</div>
</body>
</html>

 后台post.php代码如下:

<?php
$errors                 = array();
$data                   = array();

if (empty($_POST['name']))
        $errors['name'] = '请输入账户名';

if (empty($_POST['passwd']))
        $errors['passwd'] = '请输入密码';

// response if there are errors
if ( ! empty($errors)) {
        $data['success'] = false;
        $data['errors']  = $errors;
} else {
        if ($_POST['name'] == "admin" && $_POST['passwd'] == "admin"){
                $data['success'] = true;
                $data['message'] = 'Success!';
        }else{
                $data['success'] = false;
                $data['errors']  = array("login" => "账号或密码错误");
        }
}

echo json_encode($data);

 

分享到:
评论

相关推荐

    angularjs表单验证Demo

    AngularJS是前端开发流行框架,本Demo展示了表单验证的意义,及实现方法,掌握Angular基础指令,通过不同的指令元素可以拥有不同功能,并通过指令与表单合作验证,从而实现表单验证的敏捷化开发。

    AngularJS表单验证

    在AngularJS中,表单验证是一项关键功能,它允许开发者实时检查用户输入的数据,确保其符合预期的格式和规则,从而提高用户体验并减少服务器端的压力。AngularJS的表单验证机制是基于模型驱动的,这使得它在处理复杂...

    使用angularJS完成表单验证

    使用angularJS完成表单验证功能

    AngularJS实现表单验证

    AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单。在AngularJS中,有许多表单验证指令。在这里,我们将谈谈几个最流行指令,然后我们将讨论如何编写自定义的验证。

    AngularJS表单和输入验证实例

    AngularJS表单可以使用HTML原生的表单和控件,比如`&lt;input&gt;`、`&lt;select&gt;`、`&lt;button&gt;`和`&lt;textarea&gt;`等元素。AngularJS通过`ng-app`指令指定应用的范围,`ng-controller`用于指定视图对应的控制器,而`ng-model`则...

    基于angularJS移动端表单验证效果

    在移动应用开发中,前端表单验证是必不可少的一部分,它能确保用户输入的数据符合预期,减少服务器负担,提升用户体验。AngularJS,作为一个强大的MVC框架,提供了强大的数据绑定和指令系统,非常适合构建复杂的...

    Angularjs2表单+验证

    3. **表单验证**: - AngularJS2支持客户端验证,即在用户提交表单之前检查输入是否有效。 - 控制器级别的验证通过在FormControl对象上应用验证器实现,例如`formControlName.control.setValidators(Validators....

    AngularJs demo 例子(表单验证) form

    **AngularJS 表单验证详解** AngularJS 是一个强大的前端JavaScript框架,主要用于构建动态Web应用。在AngularJS中,表单验证是一个至关重要的部分,它能够帮助开发者在用户提交数据之前进行实时验证,提高用户体验...

    详解AngularJS实现表单验证

    开始学习AngularJS表单验证: 常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: 复制代码 代码如下:&lt;&lt;input type=”text” required /&gt;  2....

    AngularJS 学习笔记(表单验证篇)

    提供的压缩包文件可能包含一个Eclipse工程,方便开发者在IDE中编辑和运行代码,同时也可以直接在浏览器中查看运行结果,这对于学习和调试AngularJS表单验证功能非常有用。 通过学习和实践这些知识点,你将能够熟练...

    AngularJS自定义表单验证功能实例详解

    本文实例讲述了AngularJS自定义表单验证功能。分享给大家供大家参考,具体如下: Angular实现了大部分常用的HTML5的表单控件的类型(text, number, url, email, date, radio, checkbox),也实现了很多指令做为验证...

    angularjs 表单密码验证自定义指令实现代码

    以上是根据给定的文件信息总结的关于AngularJS表单密码验证自定义指令实现的核心知识点。通过这些知识点的学习,开发者可以创建出更加复杂和符合业务需求的自定义指令,以提升应用的用户体验和数据的准确性。

    Angularjs 动态添加表单

    通过阅读和理解这个项目,你可以学习到如何在AngularJS中实现动态添加表单的完整流程,包括创建动态表单、数据模型的管理以及表单的验证和提交。 ### 5. 环境要求 注意,这个项目需要在Apache环境下运行,因为某些...

    AngularJs表单校验实例

    通过查看博文链接(由于实际链接无法在此提供,您需要自行访问https://bijian1013.iteye.com/blog/2392684),您可以获得一个完整的AngularJS表单校验示例,包括HTML模板和对应的JavaScript代码。这个示例会详细展示...

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

    自动验证是AngularJS表单验证中的另一种方式。AngularJS利用HTML5的表单验证特性,如required、pattern、min、max等,自动地对表单元素进行验证,无需开发者编写额外的验证逻辑代码。 当表单元素符合HTML5验证要求...

    AngularJS手动表单验证

    首先,我们需要了解AngularJS表单验证的两个基本概念:novalidate属性和表单的name属性。在HTML5中,form元素可以添加一个novalidate属性,用来告诉浏览器不要使用默认的表单验证功能。这对于AngularJS来说至关重要...

    AngularJS表单验证功能分析

    首先,了解AngularJS表单验证的基础是理解ngFormController和ngModelController的作用。在AngularJS中,每个表单元素都会关联到一个ngFormController实例,而每个输入元素(例如input, select, textarea等)都会关联...

    AngularJS表单验证功能

    AngularJS中的表单验证是前端开发中的一项核心功能,它确保了用户输入的数据准确性和安全性。在AngularJS框架中,表单验证功能不仅包含了HTML5的原生表单验证属性,而且还提供了一系列自定义的验证指令,以满足复杂...

    基于AngularJS实现表单验证功能

    在实现AngularJS表单验证时,可以定义自定义验证函数来满足特定的验证需求。自定义验证器通过返回 true 或 false 来决定表单是否通过验证。另外,AngularJS还提供了校验消息提示,当验证不通过时,可以在视图中显示...

Global site tag (gtag.js) - Google Analytics