Spring MVC并显示验证过程

NNikN

我在SpringMVC中使用以下UserValidator代码。该代码工作正常。但是,我不确定如何将数据库实现验证。

由于它具有数据库连接性,因此应在后台完成,并向用户显示进度条。

因此,考虑到JSP作为视图,我应该如何实现此功能。

    package core;

    import org.springframework.validation.Errors;
    import org.springframework.validation.ValidationUtils;
    import org.springframework.validation.Validator;

    public class UserValidator implements Validator {

        @Override
        public boolean supports(Class arg0) {
            // TODO Auto-generated method stub
            return User.class.isAssignableFrom(arg0);
        }

        @Override
        public void validate(Object arg0, Errors errors) {
            // TODO Auto-generated method stub
            ValidationUtils.rejectIfEmpty(errors, "UserName", "message.userName");
            ValidationUtils.rejectIfEmpty(errors, "password", "message.password");
            ValidationUtils.rejectIfEmpty(errors, "repassword", "message.reenterpassword");

            User user=(User)arg0;
            if(!errors.hasErrors() && !(user.getPassword().equals(user.getRepassword()))){
                errors.rejectValue("repassword", "message.passwordDifferent");
            }else{
                //Connect to database, validate for duplicate username and insert into DataBase if required
}
        }

    }
林木

您可以使用注释您的验证器,@Component然后自动连接DAO以进行数据库调用。我在我的项目中做了同样的事情。

这是一个例子:

@Component
public class UserValidator implements Validator {

    @Autowired
    private MyDAO myDAO;

    ...

}

请记住,您的验证类应仅执行validate在这里修改数据库中的数据可能不是一个好主意。实际上,如果没有验证错误,您的控制器应指示您的服务类执行此操作。因此,您的控制器将如下所示:-

@Controller
@RequestMapping(value = "/login")
public class LoginController {

    @Autowired
    private UserService userService;

    @RequestMapping(method = RequestMethod.POST)
    public ResponseEntity login(@Valid @ModelAttribute LoginForm loginForm, BindingResult result, Model model) {

        if (result.hasErrors()) {
            return new ResponseEntity(HttpStatus.BAD_REQUEST);
        }

        // save to DB here
        userService.saveUsernameIfNotDuplicate(...);

        return new ResponseEntity(HttpStatus.OK);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring MVC并显示验证过程

来自分类Dev

Spring MVC验证不显示错误消息

来自分类Dev

Spring MVC验证不显示错误消息

来自分类Dev

Spring MVC验证器中未显示错误消息

来自分类Dev

Spring MVC验证器中未显示错误消息

来自分类Dev

Spring MVC验证注释不显示错误消息

来自分类Dev

Spring MVC验证被忽略

来自分类Dev

Spring MVC验证错误

来自分类Dev

Spring MVC嵌套对象验证

来自分类Dev

Spring MVC bean验证问题

来自分类Dev

以Spring MVC形式验证整数

来自分类Dev

Spring MVC验证继承的类

来自分类Dev

Spring MVC文件上传-验证

来自分类Dev

带ModelAndView的Spring MVC验证

来自分类Dev

Spring MVC验证状态400

来自分类Dev

Spring MVC错误,显示“ NoSuchMethodError”

来自分类Dev

Spring MVC错误,显示“ NoSuchMethodError”

来自分类Dev

Spring MVC表单验证日期字段

来自分类Dev

Spring MVC中的可配置验证

来自分类Dev

Spring MVC表单验证不起作用

来自分类Dev

如何验证Spring MVC @PathVariable值?

来自分类Dev

Spring MVC验证不起作用

来自分类Dev

Spring MVC验证表单属性名称问题

来自分类Dev

Spring MVC表单验证消息未加载

来自分类Dev

Spring MVC自定义验证器

来自分类Dev

使用Spring MVC的休眠验证器组

来自分类Dev

使用Value Object的Spring MVC表单验证

来自分类Dev

使用Spring MVC进行Thymeleaf表单验证

来自分类Dev

Spring MVC REST + Spring Security +基本身份验证