核心提示:Query Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。科普啥的,可以去直接百度.我直接说我遇到的问题. $(#the...
Query Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。
科普啥的,可以去直接百度.我直接说我遇到的问题.
$("#theForm").validate({ rules:{ className:{ required :true, remote:{ url: "/goodsclass/verifyClassName", //后台处理程序 type: "post", //数据发送方式 data: { //要传递的数据 "className": function(){ return $("#className").val(); } } } } }, messages:{ className:{ required:"分类名称不能为空", remote:"该分类已经存在"} } });
className 后台可以接收到.进行业务逻辑操作? ?remote只能返回true或false,也就是说后台只能返回布尔类型.
下面是错误的后台代码:
@ResponseBody @RequestMapping("/verifyClassName") public boolean verifyClassName(String className) { if(className != null) { return service.verifyClassName(className); }else { return true; } }
这是错误的代码. 本以为 返回值要为布尔类型,所以方法的返回值类型要为布尔类型.
前台会发生406错误,也就是前台无法识别后台传来的数据
实际上我忽略了,这时springMVC,返回的一般要是字符串用来跳页,也就是 在 配置文件 中的视图解析器中直接就跳页了,而不是返回到前台..
因此 我们要这样做
@ResponseBody @RequestMapping("/verifyClassName") public void verifyClassName1(String className,PrintWriter out) { if(className != null) { out.print(service.verifyClassName(className)); }else { System.out.println("nullnullnull"); out.print(true); } }
只能通过这种方式 前台才能接收到数据.
说实话,我也是新手,我也不太清楚为什么要这么做