Validate表单验证插件之异步操作

摘要:使用ajax方式进行验证某个元素的值(只是验证元素的值,而不是ajax方式提交表单),默认会提交当前验证的值到请求的地址,如果要提交其它的值,可以使用data选项。

使用ajax方式进行验证某个元素的值(只是验证元素的值,而不是ajax方式提交表单),默认会提交当前验证的值到请求的地址,如果要提交其它的值,可以使用data选项。  

两种定义方式:


	$("#formId").validate({
	  rules:{
	    username:{
	      required:true,
	      remote:"/SSHWT/test/test.action"
	    }
	  },
	  messages:{
	    username:{
	      required:"用户名不能为空!",
	      remote:"用户名错误!"
	    }
	  }
	});					
						

	$("#formId").validate({
	  rules:{
	      username:{
		          /*验证规则*/
		          required:true,
	                  /*异步验证*/
		          remote:{
		              type:"POST",  /*提交方式  "POST"/"GET" */
		              url:"/SSHWT/test/test.action",  /*请求的地址*/
		              dataType:"json",  /*请求的数据类型*/
		              data:{  /*提交的数据*/
		                username:function(){
		                   return $("#username").val();
		                }
		              }
		          }
	        }
	    },
	    messages:{
		      username:{
			        required:"用户名不能为空!",
			        remote:"用户名错误!"  /*用户名在后台验证失败后显示的错误信息*/
		      }
	    }
	});					
						


后台代码


	package com.ss.demo.action;
	
	import org.slf4j.Logger;
	import org.slf4j.LoggerFactory;
	
	import com.ss.common.action.base.BaseAction;
	
	public class TestAction extends BaseAction {
		private static final Logger logger = LoggerFactory.getLogger(com.ss.demo.action.TestAction.class);
		
		private String username;
		private boolean result;
		
		public String test(){
			if(username.equals("admin")){
				logger.info("用户名正确");
				result = true;
			}else{
				logger.info("用户名错误");
				result = false;
			}
			return SUCCESS;
		}
		/*省略get set方法*/
	}					
						


struts配置文件代码


	<package name="test" extends="commonJson" namespace="/test">
		  <action name="test" method="test">
		    <result name="success" type="json">
		      <param name="root">result</param>
		    </result>
		  </action>
	</package>					 
						


validate的ajax表单提交


	$("#formId").validate({
	  rules:{
	    username:{
	      required:true
	    }
	  },
	  messages:{
	    username:{
	      required:"用户名不能为空!"
	    }
	  },
	  submitHandler:function(form){
		    $.ajax({
		      url:"xxx.action",
		      type:"POST",
		      dataType:"json",
		      data:{username:$("#username").val()},
		      success:function(msg){
		        alert(msg.data);
		      }
		    });
	  }
	});					
						

如上实例,validate的ajax请求是在表单验证后,提交表单。在submitHandler中定义。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_617