独特的约束验证

时间:2014-05-29 10:47:26

标签: validation jsf jpa unique

我有一个JPA实体,在这个实体中我有一个注释的字段:

import javax.persistence.*;
....

@Column(nullable=false, unique=true)
private String name;

然后我在XHTML页面上有一个表单,其格式如下:

<h:form>
            <p:panel header="Party Creation">
                <h:panelGrid columns="3" id="regGrid">
                    <h:outputLabel for="name">Name: </h:outputLabel>
                    <p:inputText id="name"  value="#{partyCreationBean.party.name}" />
                    <h:message for="name" />

提交表单后,系统将调用以下方法

private Party createNewParty(PartyDTO party_dto) {
    Party p = new Party(party_dto);
    em.persist(p);
            ....

一切都很好。如果我尝试插入一个已存在于数据库中的名称,那么我将在控制台上有一个例外(但我不会在页面上看到任何内容)。

我的问题是我想在

上显示一条消息
        <h:message for="name" />

但我不知道该怎么做。也许我可以捕获异常,但后来我不知道如何使消息出现,但我认为应该是一个比捕获异常更优雅的方式... 无论如何,我该怎么办?!

提前谢天谢地, Samuele。

0 个答案:

没有答案