Java 自定义Bean验证意外类型异常Spring 3.2
我对使用Spring3.2的应用程序是新手。这个项目是关于升级的,我们将Java1.6升级到了1.7。升级后,我在字段组上面临一个自定义bean验证问题Java 自定义Bean验证意外类型异常Spring 3.2,java,spring,hibernate,spring-mvc,bean-validation,Java,Spring,Hibernate,Spring Mvc,Bean Validation,我对使用Spring3.2的应用程序是新手。这个项目是关于升级的,我们将Java1.6升级到了1.7。升级后,我在字段组上面临一个自定义bean验证问题 <dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" transitive="false"> <artifact name="validation-api" ext="jar"/> </dep
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" transitive="false">
<artifact name="validation-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" transitive="false">
<artifact name="slf4j-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5" transitive="false">
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
我有谷歌和了解的验证,它看起来不错。请注意,这在Java1.6中非常有效,我也进行了代码比较
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" transitive="false">
<artifact name="validation-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" transitive="false">
<artifact name="slf4j-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5" transitive="false">
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
Controller.java
@RequestMapping(value = Constants.URL, method = RequestMethod.POST)
public ModelAndView process(
@ModelAttribute("Bean") Bean Bean,
BindingResult result, SessionStatus status,
@RequestParam(Constants.WIZARD_PAGE) int currentPage,
ModelMap modelMap, Model model, Locale locale,
RedirectAttributes redirectAttributes, HttpServletRequest request,
HttpServletResponse response) {
isNotValid(Bean, result, Interface.class);
}
public boolean isNotValid(Object target, Errors errors, Class<?>... groups) {
Set<ConstraintViolation<Object>> result = validator.validate(target,
groups);
Bean Class
@NotEmpty
@PhoneComposite(phone1 = "phone1", phone2 = "phone2", phone3 = "phone3", groups = {
Interface.class, Interface2.class })
private Phone phone = new Phone();
Phone Bean Class
public Phone() {
super();
}
public Phone(String phone1, String phone2, String phone3) {
this();
this.phone1 = phone1;
this.phone2 = phone2;
this.phone3 = phone3;
}
//having getter and setter too
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" transitive="false">
<artifact name="validation-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" transitive="false">
<artifact name="slf4j-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5" transitive="false">
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
请帮助我找出它可能是指哪个jar,因为我怀疑它与某些java版本有关。
@NotEmpty
仅适用于字符串/字符和数组/集合。尝试删除it@isah真的非常感谢你的帮助…我很感激你救了我。它工作了,但是你能解释为什么它在1.6中工作而在1.7中失败吗。同样,注释过去我也删除了另一个日期参数,它工作了…你能解释一下吗
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" transitive="false">
<artifact name="validation-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" transitive="false">
<artifact name="slf4j-api" ext="jar"/>
</dependency>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5" transitive="false">
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>