主要利用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展示了表单验证的意义,及实现方法,掌握Angular基础指令,通过不同的指令元素可以拥有不同功能,并通过指令与表单合作验证,从而实现表单验证的敏捷化开发。
在AngularJS中,表单验证是一项关键功能,它允许开发者实时检查用户输入的数据,确保其符合预期的格式和规则,从而提高用户体验并减少服务器端的压力。AngularJS的表单验证机制是基于模型驱动的,这使得它在处理复杂...
使用angularJS完成表单验证功能
AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单。在AngularJS中,有许多表单验证指令。在这里,我们将谈谈几个最流行指令,然后我们将讨论如何编写自定义的验证。
AngularJS表单可以使用HTML原生的表单和控件,比如`<input>`、`<select>`、`<button>`和`<textarea>`等元素。AngularJS通过`ng-app`指令指定应用的范围,`ng-controller`用于指定视图对应的控制器,而`ng-model`则...
在移动应用开发中,前端表单验证是必不可少的一部分,它能确保用户输入的数据符合预期,减少服务器负担,提升用户体验。AngularJS,作为一个强大的MVC框架,提供了强大的数据绑定和指令系统,非常适合构建复杂的...
3. **表单验证**: - AngularJS2支持客户端验证,即在用户提交表单之前检查输入是否有效。 - 控制器级别的验证通过在FormControl对象上应用验证器实现,例如`formControlName.control.setValidators(Validators....
**AngularJS 表单验证详解** AngularJS 是一个强大的前端JavaScript框架,主要用于构建动态Web应用。在AngularJS中,表单验证是一个至关重要的部分,它能够帮助开发者在用户提交数据之前进行实时验证,提高用户体验...
开始学习AngularJS表单验证: 常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: 复制代码 代码如下:<<input type=”text” required /> 2....
提供的压缩包文件可能包含一个Eclipse工程,方便开发者在IDE中编辑和运行代码,同时也可以直接在浏览器中查看运行结果,这对于学习和调试AngularJS表单验证功能非常有用。 通过学习和实践这些知识点,你将能够熟练...
本文实例讲述了AngularJS自定义表单验证功能。分享给大家供大家参考,具体如下: Angular实现了大部分常用的HTML5的表单控件的类型(text, number, url, email, date, radio, checkbox),也实现了很多指令做为验证...
以上是根据给定的文件信息总结的关于AngularJS表单密码验证自定义指令实现的核心知识点。通过这些知识点的学习,开发者可以创建出更加复杂和符合业务需求的自定义指令,以提升应用的用户体验和数据的准确性。
通过阅读和理解这个项目,你可以学习到如何在AngularJS中实现动态添加表单的完整流程,包括创建动态表单、数据模型的管理以及表单的验证和提交。 ### 5. 环境要求 注意,这个项目需要在Apache环境下运行,因为某些...
通过查看博文链接(由于实际链接无法在此提供,您需要自行访问https://bijian1013.iteye.com/blog/2392684),您可以获得一个完整的AngularJS表单校验示例,包括HTML模板和对应的JavaScript代码。这个示例会详细展示...
自动验证是AngularJS表单验证中的另一种方式。AngularJS利用HTML5的表单验证特性,如required、pattern、min、max等,自动地对表单元素进行验证,无需开发者编写额外的验证逻辑代码。 当表单元素符合HTML5验证要求...
首先,我们需要了解AngularJS表单验证的两个基本概念:novalidate属性和表单的name属性。在HTML5中,form元素可以添加一个novalidate属性,用来告诉浏览器不要使用默认的表单验证功能。这对于AngularJS来说至关重要...
首先,了解AngularJS表单验证的基础是理解ngFormController和ngModelController的作用。在AngularJS中,每个表单元素都会关联到一个ngFormController实例,而每个输入元素(例如input, select, textarea等)都会关联...
AngularJS中的表单验证是前端开发中的一项核心功能,它确保了用户输入的数据准确性和安全性。在AngularJS框架中,表单验证功能不仅包含了HTML5的原生表单验证属性,而且还提供了一系列自定义的验证指令,以满足复杂...
在实现AngularJS表单验证时,可以定义自定义验证函数来满足特定的验证需求。自定义验证器通过返回 true 或 false 来决定表单是否通过验证。另外,AngularJS还提供了校验消息提示,当验证不通过时,可以在视图中显示...