SpringMVCAJAX验证
我有一个SpringMVC3表单,它发布到控制器,在控制器中我调用它来执行DML语句。我还有一个单独的验证类,它实现了验证器,并在我的控制器中调用。我在那里进行简单和复杂的验证,比如检查用户名是否存在,如果存在则返回错误消息 当我在视图上的字段外添加选项卡时,我想使用ajax只验证用户名字段,但我想调用已经实现的验证,只验证用户名字段 如何实现这一点,我是否需要在Ajax中调用Controller类,并使用单独的@RequestMapping来处理这个问题?我可以举一个例子来说明这应该如何实现 //将其添加到控制器端 在ajax响应之后,在相应的结果字段上设置错误SpringMVCAJAX验证,spring,validation,jsp,spring-mvc,controller,Spring,Validation,Jsp,Spring Mvc,Controller,我有一个SpringMVC3表单,它发布到控制器,在控制器中我调用它来执行DML语句。我还有一个单独的验证类,它实现了验证器,并在我的控制器中调用。我在那里进行简单和复杂的验证,比如检查用户名是否存在,如果存在则返回错误消息 当我在视图上的字段外添加选项卡时,我想使用ajax只验证用户名字段,但我想调用已经实现的验证,只验证用户名字段 如何实现这一点,我是否需要在Ajax中调用Controller类,并使用单独的@RequestMapping来处理这个问题?我可以举一个例子来说明这应该如何实现
是的,控制器中使用@RequestMapping注释的单独方法听起来是最简单的解决方案。
if(result.hasErrors() ){
for (Object object : result.getAllErrors()) {
if(object instanceof FieldError) {
FieldError fieldError = (FieldError) object;
String message = messageSource.getMessage(fieldError, null);
logger.info("Error : " + message + " - " + fieldError.getField());
errors.add(fieldError.getField() + "#" + message);
}
}
response.setStatus("FAIL");
response.setResult(errors);
$.each(response.result, function(index, errorString){
var array = errorString.split("#");
$('[for="' +array[0]+ '"]').html(array[1]);
});