bean 验证不工作

bean validation not working

我搜索了很多,但没有找到任何解决方案。我正在使用 primefaces 5.2 版本。这是我的代码:

    <p:dialog header="#{msg['table.playlist.edit.caption']}" widgetVar="editPl" id="editPl" appendTo="@(body)" modal="true" minHeight="100">
            <h:form id="editForm">
                <h:panelGrid id="editPanel" columns="3" cellpadding="5">

                    <h:outputText for="fieldName" value="#{msg['table.playlist.column.header.name']}" />
                    <p:inputText id="fieldName" value="#{playlistModel.playlist.plName}" label="FieldName"/>
                    <p:message for="fieldName" style="color:red" />

                    <h:outputText value="#{msg['table.playlist.column.header.default']}" />
                    <h:selectBooleanCheckbox value="#{playlistModel.playlist.defaultPl}"/>

                </h:panelGrid>

                <p:commandButton value="#{msg['modal.button.save']}" ajax="true" validateClient="true" update=":editForm" action="#{playlistModel.addPlaylist}" oncomplete="if (args &amp;&amp; !args.validationFailed) PF('editPl').hide();"/>
                <p:commandButton value="#{msg['modal.button.cancel']}" onclick="PF('editPl').hide();"/>

            </h:form>   
    </p:dialog>

我的class:

@ManagedBean(name="playlistModel")
@ViewScoped
public class PlaylistModel extends BaseModel implements Serializable{

    private E_CMS_PL playlist;
        .
        .
        .
}

我的豆子:

import javax.validation.constraints.Size;

@Entity
@Table(name="E_CMS_PL")
public class E_CMS_PL extends BaseEntity {

    /** Name of the playlist */
    @Column(name = "PL_NAME", unique=true ,length=64)
    @Size(min=2,max=5)
    private String plName;
    .
    .
    .
}

当我点击保存时,它只是进入 addPlaylist 方法,我也尝试用这样一个简单的按钮来测试它:<p:commandButton value="test" ajax="false" validateClient="true"/> 但输入仍然没有被验证。我不明白为什么。为什么这不起作用?

我找到了我的解决方案,我认为它不是重复的。我在 pom.xml

中进行了更改
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.2.4</version>
</dependency>

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.2.4</version>
</dependency>

从版本 2.2.42.2.2 版本,现在它正在进行 bean 验证。我认为这可能是 2.2.42.2.3 版本中的错误。