参考资料:
http://code.ciaoca.com/jquery/validation_engine/
http://www.cnblogs.com/aijun/archive/2011/03/21/1989991.html
http://csjava.blog.163.com/blog/static/1904700332012112065228299/
jsp:
<textarea name="content" id="content" cols="120" rows="4" style="overflow: auto;" class="validate[required,ajax[sensitiveWord]]"></textarea>
jquery.validationEngine-zh_CN.js:(Validation Engine 2.2.4 , jQuery plugin,2.2.4版本的 )
"sensitiveWord":{ "url": "test!validateInfo.fhtm", "extraDataDynamic": ['#content'], "alertTextLoad": "验证中,请等待..." },
jquery.validationEngine.js: 需要修改以下的内容:
_ajax: function(field, rules, i, options) { var errorSelector = rules[i + 1]; var rule = options.allrules[errorSelector]; var extraData = rule.extraData; var extraDataDynamic = rule.extraDataDynamic; if (!extraData) extraData = ""; if (extraDataDynamic) { var tmpData = []; var domIds = String(extraDataDynamic).split(","); for (var i = 0; i < domIds.length; i++) { var id = domIds[i]; if ($(id).length) { var inputValue = field.closest("form").find(id).val(); var keyValue = id.replace('#', '') + '=' + encodeURIComponent(encodeURIComponent(inputValue)); //修改这里,原来的方法有点老,代码越界了,不需要换行 tmpData.push(keyValue); } } extraDataDynamic = tmpData.join("&"); } else { extraDataDynamic = ""; }
java:
private String content; private Object[] validateReturn = new Object[3]; ....省略了get set方法..... public void validateInfo() throws Exception{ String result = ""; validateReturn[0] = fieldId; validateReturn[1] = true; validateReturn[2] = ""; try{ result = blacklistManager.getResult(URLDecoder.decode(content, "UTF-8")); } catch (Exception e) { e.printStackTrace(); } finally{ if(StringUtils.isNotEmpty(result)) { validateReturn[0] = fieldId; validateReturn[1] = false; validateReturn[2] = "* 内容包含敏感字:"+result; } getResponse().setContentType("text/plain"); PrintWriter out = getResponse().getWriter(); JSONArray jsarry = new JSONArray(); jsarry = JSONArray.fromObject(validateReturn); out.print(jsarry); } } public HttpServletResponse getResponse(){ return ServletActionContext.getResponse(); } public HttpServletRequest getRequest(){ return ServletActionContext.getRequest(); }
相关推荐
"Inline Form Validation Engine+Struts2的AJAX验证" 这个标题提到了两个关键组件,一个是Inline Form Validation Engine,另一个是Struts2的AJAX验证。Inline Form Validation Engine是一个前端表单验证插件,它...
jQuery.validationEngine v3.1.0 寻找官方贡献者 这个项目已经进行了7年多了,现在我仅通过请求请求的贡献来维护该项目。 但是,我很乐意帮助提高代码质量并保持可接受的未解决问题。 概括 jQuery验证引擎是一个...
【标题】"(六)struts2 spring3 mybatis-3.2.3 jquery.validationEngine ajax表单验证 数据库重复"所涉及的技术栈主要包括Struts2、Spring3、MyBatis3.2.3以及前端的jQuery.validationEngine和Ajax技术。...
总之,`validator_ajax`的实现结合了Ajax的异步通信、DWR的Java方法调用和前端验证,为Web应用程序提供了高效、友好的用户输入验证体验。在开发过程中,正确配置和使用这些组件对于创建高性能的Web应用至关重要。
Localised validation messages 局部验证消息 - 55 - 验证消息参数 - 55 - 定制局部验证消息 - 56 - 定制teral(非局部)验证消息 - 57 - 在模板里显示验证错误消息 - 57 - 验证注释 - 60 - 验证复杂对象 - 60 - 内...
4. **Remote Validation**:实现客户端验证,减少不必要的服务器交互。 5. **Caching**:缓存机制,提高数据访问速度。 四、DWR的配置与使用 1. **添加依赖**:在Java项目的类路径中添加DWR的JAR文件。 2. **配置...
This project is built using spring boot and thymeleaf templete engine 使用的技术和概念 前端: Thymeleaf模板引擎 Html CSS Java脚本 jQuery的 引导程序 后端: Java 8 Sprint Boot 春天数据jpa MySQL的 ...