4

我有一个 POST 到控制器的 Spring Mvc 3 表单,在控制器中我调用以执行 DML 语句。我还有一个单独的验证类,它实现了 Validator 并在我的 Controller 中调用。我在那里进行简单和复杂的验证,例如检查用户名是否存在,如果存在则返回错误消息。

当我从视图上的字段中跳出时,我想使用 ajax 仅验证用户名字段,但我想调用我已经实现的验证并且只验证用户名字段。

我怎样才能做到这一点,我需要在 Ajax 中调用 Controller 类并有一个单独的 @RequestMapping 来处理这个吗?我可以举一个例子来说明这应该如何实现。

4

1 回答 1

1

//在控制器端添加这个

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);

在ajax响应之后,在相应的结果字段上设置错误

$.each(response.result, function(index, errorString){

                     var array = errorString.split("#");
                     $('[for="' +array[0]+ '"]').html(array[1]);
                 });
于 2015-09-22T11:13:27.027 回答