我一直在尝试Vaadin 7.首先,我必须管理我在Vaadin安静的一个菜鸟并且对JAVA持久性不太熟悉.因此,我正在尝试学习bean验证以及如何使用它.我已经按照几个教程,但很难确定哪个是Vaadin 7的最新和正确的.尽管如此,我尝试下载并使用JPA容器和BeanValidator,我无法让它工作.这是我正在使用的代码:
package com.example.firstvaadin;
import java.io.Serializable;
import org.hibernate.validator.constraints.Email;
import javax.validation.constraints.*;
public class RegisterBean implements Serializable{
public RegisterBean(String email){
this.email = email;
}
@Size(min = 5, max = 50)
private String email;
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
}
Run Code Online (Sandbox Code Playgroud)
和
RegisterBean rbean = new RegisterBean("");
BeanItem<RegisterBean> item = new BeanItem<RegisterBean>(rbean);
TextField email = new TextField("email",item.getItemProperty("email"));
email.setImmediate(true);
layout.addComponent(email);
email.setNullRepresentation("");
Run Code Online (Sandbox Code Playgroud)
但是我在下面的代码中遇到了运行时异常:email.addValidator(new BeanValidator(RegisterBean.class,"email"));
The exception is:
aused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick …Run Code Online (Sandbox Code Playgroud)