AngularJS的表单验证提交示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS的表单验证提交示例相关的知识,希望对你有一定的参考价值。

代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsFormSubmit.rar

 

前台代码:

<%@ page contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html ng-app="notesApp">
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP ‘index.jsp‘ starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <meta charset="utf-8">
    <script src="angular1.4.6.min.js"></script>
  </head>
  
  <body ng-controller="MainCtrl as ctrl">
    <form action="Verify" id="form1">
          Name:<input type="text" name="name" ng-model="ctrl.username"/><br/>
          You typed:{{ctrl.username}}<br/>
          Pswd:<input type="password" name="pswd"  ng-model="ctrl.password"/><br/>
          You typed:<span ng-bind="ctrl.password"></span><br/>
          <button type="button" ng-click="ctrl.reset()">Reset</button> <!-- 注意这里不写 type="button" 会导致表单提交-->
          <button type="button" ng-click="ctrl.submit()">Submit</button>

    </form>
  </body>
</html>

<script type="text/javascript">
<!--
    angular.module(notesApp,[])
     .controller(MainCtrl,[function(){
       var self=this;

       self.reset=function(){
               self.username="";
               self.password="";
       };

       // 在Chrome正常,在FirxFox中self.username,self.password是undefined
       self.submit=function(){  
               alert("self.username="+self.username);
               alert("self.password="+self.password);
               if(self.username!="" && self.password!=""){
                   alert(2);
                   document.forms[0].submit();
               }else{
                   alert(3);
                   alert("用户名或密码不全");
               }
               alert(4);
               
       };
       
     }]);
//-->
</script>

后台代码:

package com.test;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class VerifyServlet extends HttpServlet {
    private static final long serialVersionUID = 56890894234786L;
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
        request.setCharacterEncoding("UTF-8");
        
        String name=request.getParameter("name");
        String pswd=request.getParameter("pswd");
        
        request.setAttribute("name", name);
        System.out.println("name="+name);
        request.setAttribute("pswd", pswd);
        System.out.println("pswd="+pswd);

        RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp");
        dispatcher.forward(request, response);
        return;
    }
        
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
        doPost(request, response);
    }
}

 

以上是关于AngularJS的表单验证提交示例的主要内容,如果未能解决你的问题,请参考以下文章

当输入验证失败时,Angularjs会阻止表单提交

应禁用 angularjs 提交表单中的开始日期结束日期验证

提交时的表单验证 - angularjs 1.5 - 当字段 $pristine 时 $invalid

angularjs中form表单提交验证

单击angularjs中的提交表单时如何删除“请填写此字段”弹出但其他验证应该有效

angularjs表单验证无法应用问题