相关疑难解决方法(0)

Spring MVC验证器注释+自定义验证

我正在开发spring mvc应用程序,我应该基于Spring MVC验证器进行验证.我第一步为我添加了类和设置控制器的注释,它工作正常.现在我需要实现自定义验证器来执行复杂的逻辑,但我想使用现有的注释,只需添加额外的检查.

我的用户类:

public class User
{
    @NotEmpty
    private String name;

    @NotEmpty
    private String login; // should be unique
}
Run Code Online (Sandbox Code Playgroud)

我的验证员:

@Component
public class UserValidator implements Validator
{

    @Autowired
    private UserDAO userDAO;

    @Override
    public boolean supports(Class<?> clazz)
    {
        return User.class.equals(clazz) || UsersForm.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors)
    {
        /*
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "NotEmpty.user");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "login", "NotEmpty.user");
        */
        User user = (User) target;
        if (userDAO.getUserByLogin(user.getLogin()) != null) {
            errors.rejectValue("login", "NonUniq.user");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的控制器:

@Controller
public class UserController …
Run Code Online (Sandbox Code Playgroud)

java validation spring spring-mvc

31
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1

spring ×1

spring-mvc ×1

validation ×1