赞
踩
使用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" class="com.ss.demo.action.TestAction" method="test">
- <result name="success" type="json">
- <param name="root">result</param>
- </result>
- </action>
- </package>
$("#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中定义。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。