我正在利用JAXB实现一个SOAP服务的内存API网关。其中一个模式元素是“choice”,choice块中有几个元素。
我试图在客户机名称空间中镜像生成的JAXB类,因此对于这个“选择”场景,我有一个具有多个属性的bean类,其中只有一个属性是非null的。
我试图使用javax中的@NotNull注释。验证,以及验证工厂和验证程序。然而,一个“选择”的场景让这变得有点复杂。我猜这将需要一个自定义ConstraintValidator,以及一个引用自定义ConstraintValidator的自定义注释。
例如,这里有一些类似于我的结构的假代码:
public class InquireRandomInformationRequest {
@NotNull(message ="subscriberSelector cannot be null")
@Valid
private SubscriberSelector subscriberSelector; // required
private SelectorMode mode; // optional
...
}
public class SubscriberSelector {
// Choice 1
private String billingAccountNumber; // \d{8,9,12,13}; required
private MarketInfo billingMarket; // optional
// Choice 2
private String subscriberNumber; // \d{10}; required
private ValidationCriteria validationCriteria; // optional
private BillingAccountInformation billingAccountInformation; // optional
private MemoProductType memoProductType; // optional
// Choice 3
private String unifiedBillingAccountNumber; // [0-9A-Za-z]{13}; required
...
}
我知道我需要“subscriberSelector”属性上的@Valid注释,以便验证器验证子对象。过去,我不太确定我需要做什么来处理选择问题。
为了符合我的例子,我需要“billingAcCountNumber”、“subberNumber”或“unifiedBillingAcCountNumber”中的一个非空(尽管我可以妥协,只取特定序列中的第一个非空属性)。在每个“选择组”中,其他属性是可选的,但是如果选择了特定的选择组,另一个属性可能是“必需的”(换句话说,选择器属性是非空的)。
我查阅了Hibernate验证器文档,但我不确定如何将其应用于这种情况。
如果我定义了一个自定义注释和一个自定义ConstraintValidator,注释引用在哪里?在类(比如“SubscriberSelector”)或“SubscriberSelector”属性上(在我看来,前者更符合逻辑)。
可以根据需要定义类或属性的约束。
通常,约束放置在属性上,但是,在您提到的情况下,由于多个属性是相互关联的,所以您应该将约束放置在类级别。
看见https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-在我们的文档中声明bean约束。
我试图使用swagger来记录我的Restapi,并且取得了一些成功,但是在受限资源参数方面,我遇到了一堵墙。我正在使用JBoss RESTEasy与Hibernate验证器提供程序和Jackson 2.x注释的POJO。我遇到的问题是,当遇到@DecimalMin/@DecimalMax注释时,我得到一个 似乎swagger正在尝试使用较新版本的javax.validation.constrai
问题内容: 嗨,我正在插入一些日期做我的桌子。由于某些原因,我不得不禁用约束。约束与索引相关联。我使用了以下代码行: 并且my_constraint处于禁用状态。不,我想启用此约束,但是在调用此行之后: 我收到一个错误: ORA-02299:无法验证(USER.my_constraint)-找到重复的密钥 问题答案: 您不能具有带有唯一索引的非唯一值。但是,您可以具有带有由非唯一索引强制执行的唯一
我对Spring靴有疑问。如何对Spring转换器进行验证?我试图从javax使用ConstraintValidator,但它在转换器之后运行。
假设我有以下课程: 是否可以通过“MyProduct”类验证“code”属性?比如:
我有一个使用javax注释的jax-rs项目(
首先,我是Vaadin7的新手。当我发现BeanFieldGroup.class时,我正在尝试一些vaadin演示。正如我所看到的,这个类将一个字段绑定到一个bean属性。在bean中,使用验证约束注释对属性进行注释(JSR303)。在本例中,我的pom.xml包含hibernate验证器依赖项: 我创建了validationmessage.properties文件,并在其中放了一些消息(带有匈牙