我正在尝试使用自定义Bean验证来验证应该大于零的数值,但问题是使用如下单个自定义验证器来验证任何数值:整数、浮点数、双......:
整数int;
@PositiveNumber双倍双;
这可能吗?
您正在寻找自然数,我认为您可以使用regex模式来获得所需的输出,类似这样的
模式(regexp=“[\\s]*[0-9]*[1-9]”,message=“msg”)
我不确定“自定义Bean验证”的先决条件到底意味着什么,但实现这一点的标准方法是使用javax。验证。约束条件。Min像这样
@Min(value = 0)
我使用以下解决方案解决了这个问题。
public class PositiveNumberValidator implements ConstraintValidator<PositiveNumber, Object> {
@Override
public void initialize(PositiveNumber constraintAnnotation) {
}
@Override
public boolean isValid(Object number, ConstraintValidatorContext context) {
if (number instanceof Integer) {
Integer num = (Integer) number;
return (num > 0);
} else if (number instanceof Double) {
Double num = (Double) number;
return (num > 0d);
} else if (number instanceof Long) {
Long num = (Long) number;
return (num > 0L);
} else if (number instanceof Float) {
Float num = (Float) number;
return (num > 0F);
}else{
return false;
}
}
}
首先,我是Vaadin7的新手。当我发现BeanFieldGroup.class时,我正在尝试一些vaadin演示。正如我所看到的,这个类将一个字段绑定到一个bean属性。在bean中,使用验证约束注释对属性进行注释(JSR303)。在本例中,我的pom.xml包含hibernate验证器依赖项: 我创建了validationmessage.properties文件,并在其中放了一些消息(带有匈牙
我使用Jersey 2.19来实现REST API,但是我很难让资源验证像我预期的那样工作。 我的资源是这样的。 当我发出以下cURL请求时: 我在终端窗口中得到以下响应: 也就是说,的值是,正如Java EE教程中定义的那样,不会引发异常。
环境 Glassfish 3.1.2内置Hibernate-Validator 4.2。
问题内容: 我有一个简单的类,其属性之一为String数组。根据本文档,在数组,集合等上使用@Valid将递归地验证数组/集合的每个元素。 上面对属性的注释生成以下异常: 我正在使用Apache BVal作为验证提供程序。 问题是,上述方法正确吗? 如果不正确,那么使用bean验证来验证数组/集合的正确方法是什么? 如果正确,那么它对Apache BVal有一些限制吗? 问题答案: 通过像完成操作
我正在利用JAXB实现一个SOAP服务的内存API网关。其中一个模式元素是“choice”,choice块中有几个元素。 我试图在客户机名称空间中镜像生成的JAXB类,因此对于这个“选择”场景,我有一个具有多个属性的bean类,其中只有一个属性是非null的。 我试图使用javax中的@NotNull注释。验证,以及验证工厂和验证程序。然而,一个“选择”的场景让这变得有点复杂。我猜这将需要一个自定
我们使用的是spring core+struts(没有spring MVC)