关闭

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

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

使用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

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

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

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

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

layui在form表单不回调的问题

在使用layui进行ajax表单提交时,不回调,并且刷新了当前页面。在表单提交后添加 代码 return false;form.on()表单监控事件中一定要加 return false;

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

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

谷歌浏览器禁止表单自动填充

在项目开发期间发现谷歌浏览器有记住密码的功能,该功能有个问题就是一遇到input type=password就开始自动填充,同一个账户还好,就是bug了。找了一堆解决方案终于找到了办法,下面分享一下解决方案。

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

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

vue表单校验

两个文件,一个写逻辑,一个写校验规则;特点:逻辑简单,代码量少,够用;不想看代码直接新建这两个文件复制代码,看最下面的使用方法;

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

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

javascript中如何判断checkbox是否选中?

javascript判断checkbox是否选中的方法:1、直接通过checkbox的checked属性判断。2、调用jQuery使用attr()或is()方法判断。对于在js中来判断checkbox是否被选中很简单,示例如下:

HTML常用标签之<form>标签

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

点击更多...

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