@NotNull不处理对象,而是处理字段

时间:2014-09-29 21:54:19

标签: jsf bean-validation

我使用@NotNull来定义一些属性,但我也希望在关系上使用它。 所以我做了

@NotNull(message = "Região não pode ser nula")
@JoinColumn(name = "regiao_id", referencedColumnName = "regiao_id")
@ManyToOne(optional = false)
private Regiao regiaoId;

就像我会做的那样

@NotNull(message="O nome não pode ser nulo")
@Size(min = 1, max = 10)
@Column(name = "nome")
private String nome;

在字符串上使用它工作正常,但它不能处理我的关系对象,所以我最终必须验证像if (foo.regiaoId() != null)这样的东西,只能使用@NotNull也是这样的情况吗?

为了便于理解,我有一个xhtml表单,我不希望我的selectOneMenu为空

我的xhtml

            <p:outputLabel value="Região:" for="regiaoCombo" />
            <p:selectOneMenu id="regiaoCombo" value="#{equipamentoBean.equipamento.regiaoId}" converter="omnifaces.SelectItemsConverter">
                <f:selectItem itemLabel="Selecione" itemValue="#{null}"></f:selectItem>
                <f:selectItems value="#{equipamentoBean.regioes}"></f:selectItems>
            </p:selectOneMenu>
            <p:message for="regiaoCombo"/>

由于我不想在我的jsf上添加验证可空的内容,最好的方法是什么?有没有办法在属于持久化类的对象上使用@NotNull?

使用javax.validation.constraints.NotNull

REF

Best way to add a "nothing selected" option to a selectOneMenu in JSF

1 个答案:

答案 0 :(得分:0)

尝试与@NotNull一起使用

@Basic(可选= false) @Column(nullable = false)

以下是一个简明的JPA文档链接,可能对您有所帮助http://www.objectdb.com/api/java/jpa/annotations

相关问题