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

时间: 2018-04-11阅读: 1936标签: 表单

使用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中定义。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/617

使用Vue Composition API写出清晰、可扩展的表单

表单是前端开发中最棘手的部分之一,您可能会在其中发现很多混乱的代码。基于组件的框架,如 Vue.js,在提高前端代码的可扩展性方面做了很多工作,但是表单的问题仍然存在。

如何利用 策略模式 优化表单验证

在做移动端项目开发的时候,经常会遇到各种表单验证,有时候不同的页面,验证规则是一样的;之前项目里的验证代码写的很凌乱,最近刚好遇到这个模块的功能需要重构

HTML常用标签之<form>标签

在HTML中,<form></form>标记对用来创建一个表单,即定义表单的开始和结束位置,在标记对之间的一切都属于表单的内容。每个表单元素开始于form元素,可以包含所有的表单控件

vue2表单验证组件_vee-validate的使用教程

vee-validate基于vue2的表单验证组件,这篇文章主要讲解它的安装,引用,基础使用,内置的校验规则,自定义校验规则。Validator是以$validator被组件自动注入到Vue实例的,同时也可以独立的进行调用

iframe无刷新提交表单,iframe仿ajax提交表单

使用ajax可以实现无刷新提交表单,但有人表示ajax的效率不行,或者是其他缺点,例如客户端臃肿,太多客户段代码造成开发上的成本,如果网速慢,则会出现ajax请求缓慢,页面空白的情况,对客户的体验不好。ajax请求不利于搜索引擎优化

input输入限制只能为数字

input输入限制只能为数字的2种方法,通过onkeypress事件和onkeyup事件,输不上任何非数字字符。加上正则匹配不能输入非数字字符就可以了

表单提交type=submit和type=image的区别

type=image默认是sumbit,不用再添加onclick事件提交,否则会发生表单被提交两次的情况;在onclick事件中添加重置方法

css input checkbox复选框控件 样式美化的多种方案

checkbox复选框可能是网站中常用的HTML元素,但大多数人并不满意它的默认样式,这篇文章就讲讲如何实现input checkbox复选框控件 样式美化效果。::before和::after伪元素的用法

阻止表单的默认提交事件

表单一点击提交按钮(submit)必然跳转页面,如果表单的action为空也会跳转到自己的页面,即效果为刷新当前页。 如下,可以看到一点击提交按钮

Html5中input新增的表单元素和属性介绍。

input标签主要用于Web表单的创建交互,以便接受来自用户的数据。 我们通过更改type属性的值,来实现不同的输入类型。这篇文章主要讲解html5中新增的表单属性。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!