小编Mat*_*ing的帖子

JSF 2 - Bean验证:验证失败 - >空值被替换为来自托管bean的最后有效值


我不理解在valration期间JSF2的行为.希望可以有人帮帮我.

我有一个表单,其中字段在(ajax)提交后验证 - 确定
如果验证失败,则显示错误消息 - 确定

对于我的例子,当我输入有效的生日并且字段名称为空时,提交后会显示名称的错误消息.
现在,当我输入一个有效的名字并从生日字段中删除输入时,将显示生日错误消息(没关系),但现在旧的"有效" 生日也会出现在输入字段中!?!

我该如何避免这种行为?当我提交一个空字段时,我想看到一个错误消息和一个空字段......

这是我的示例代码:

我使用包含EntityBean(Contact)的ManagedBean(TestBean).该联系人包含每个annoations验证.

public class Contact implements Serializable {
    @NotNull 
    @Temporal(TemporalType.DATE)
    private Date birthday;

    @NotNull 
    @Size(min=3, max=15)
    private String name;

    //...
}
Run Code Online (Sandbox Code Playgroud)

我的ManagedBean:

@ManagedBean
@ViewScoped
public class TestBean implements Serializable {
    private Contact contact;

    @PostConstruct
    void init() {
        System.out.println("init...");
        contact = new Contact(); 
    }

    public void newContact(ActionEvent ae) { …
Run Code Online (Sandbox Code Playgroud)

java validation jsf-2

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

jsf-2 ×1

validation ×1