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

更新日期: 2018-04-11阅读量: 2083标签: 表单

使用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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

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

小程序/网页实现textarea高度随内容自动改变

textarea默认的高度不是对着内容变化,而是随着内容增多,出现了滚动条。目前的需求是实现一个能够输入的textarea,并且高度跟着内容变化。以及小程序的textarea高度随内容自动改变的实现

在HTML中限制input 输入框只能输入纯数字

使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母,使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应,使用 oninput 事件,完美的解决了以上两种问题

form表单input回车提交问题

文本框输入完成后点击回车页面刷新,问题出在form上,当表单中只有一个文本框的时候获取焦点并点击回车之后会提交表单内容,就会发生刷新事件。

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

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

form表单的默认行为

action提交到的url,如果不写action的话,提交表单将重新请求当前页面。如果此时写了method,将按method方法去请求对应的url。请求方法,可选值为GET和POST。

PHP如何解决表单重复提交

表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交。加载提交的页面时候

如何用 JS 一次获取 HTML 表单的所有字段 ?

要从HTML表单中获取所有字段,可以使用:this.elements或event.target.elements,只有在预先知道所有字段并且它们保持稳定的情况下,才能使用。使用FormData构建具有所有字段的对象,之后可以转换,更新或将其发送到远程API。

js如何获取checkbox被选中的值?

通过复选框的name属性,遍历后将被选中的复选框的值输出:checkbox[index].nextSibling.nodeValue: 获取的是checkbox中标签包裹的文本值,建立一个数组,使用push 方法将被选中的元素保存到数组

javascript实现form表单onsubmit提交前验证

可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验。onsubmit指定的方法返回true,则提交数据;返回false不提交数据。

关于input的一些问题解决方法分享

input是我们接受来自用户的数据常用标签,在前端开发中:移动端底部input被弹出的键盘遮挡。控制input显/隐密码。在input中输入emoji表情导致请求失败。input多行输入显示换行。输入框首尾清除空格-trim()、在input中监听键盘事件

点击更多...

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