在Hibernate Validator 4.1+中,@NotNull, @NotEmpty和@NotBlank之间的区别是什么?
Apr 8, 2014 2:13:57 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet springmvc threw exception
javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer
at org.hibernate.validator.engine.ConstraintTree.verifyResolveWasUnique(ConstraintTree.java:383)
at org.hibernate.validator.engine.ConstraintTree.findMatchingValidatorClass(ConstraintTree.java:364)
at org.hibernate.validator.engine.ConstraintTree.getInitializedValidator(ConstraintTree.java:313)
at org.hibernate.validator.engine.ConstraintTree.validateConstraints(ConstraintTree.java:144)
at org.hibernate.validator.engine.ConstraintTree.validateComposingConstraints(ConstraintTree.java:233)
at org.hibernate.validator.engine.ConstraintTree.validateConstraints(ConstraintTree.java:128)
at org.hibernate.validator.engine.ConstraintTree.validateConstraints(ConstraintTree.java:117)
at org.hibernate.validator.metadata.MetaConstraint.validateConstraint(MetaConstraint.java:84)
at org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:452)
使用hibernate validator出现上面的错误, 需要 注意
如果在基本类型上面用NotEmpty或者NotBlank 会出现上面的错
- @NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。
- @NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。
- @NotBlank://String 不是 null 且去除两端空白字符后的长度(trimmed length)大于 0。
-
String name = null;
@NotNull: false@NotEmpty: false@NotBlank: false -
String name = "";
@NotNull: true@NotEmpty: false@NotBlank: false -
String name = " ";
@NotNull: true@NotEmpty: true@NotBlank: false -
String name = "Great answer!";
@NotNull: true@NotEmpty: true@NotBlank: true
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
