Java Maven与Vaadin Bean验证?
我正在尝试使用Maven和Vaadin Bean验证来创建一个应用程序来验证我的Bean,但现在对我来说不起作用 我正在试这个Java Maven与Vaadin Bean验证?,java,maven,vaadin,vaadin7,Java,Maven,Vaadin,Vaadin7,我正在尝试使用Maven和Vaadin Bean验证来创建一个应用程序来验证我的Bean,但现在对我来说不起作用 我正在试这个 @Entity public class Person{ @Id @GeneratedValue private Integer id; @NotNull @NotEmpty @Size(min=5, max=50, message="insert first name") private String firs
@Entity
public class Person{
@Id
@GeneratedValue
private Integer id;
@NotNull
@NotEmpty
@Size(min=5, max=50, message="insert first name")
private String firstName;
@NotNull
@NotEmpty
@Email
private String email;
}
//my app
public class LoginView extends VerticalLayout{
private TextField firstName, email;
private BeanFieldGroup<Person> binder;
private FormLayout form;
public LoginView(){
form = new FormLayout();
binder = new BeanFieldGroup<Person>(Person.class);
Field<?> field = null;
field = binder.buildAndBind("Firstname", "firstName");
firstName = (TextField)binder.getField("firstName");
form.addComponent(firstName);
field = binder.buildAndBind("Email", "email");
email = (TextField)binder.getField("email");
form.addComponent(email);
this.addComponent(form);
}
}
您需要使用VaadinBean验证插件附带的BeanValidationForm和BeanValidationValidator。
您将在中找到此加载项的一些演示代码。当您调用
binder.commit()
时,它应该进行验证。检查类路径上是否有javax.validation.validation
类
如果不是这样,请调试
BeanFieldGroup
上的isBeanValidationImplementationAvailable()
静态方法,并发布您发现的任何详细信息 我也遇到了同样的问题,决定使用包含在依赖项中的javaee api我尝试使用绑定器的方法isBeanValidationImplementationAvailable(),但不返回eclipse的自动完成。我用的是Vaadin7,因为它是受保护的。您应该签出源代码并在方法中放置断点。如果看不到源代码,请转到Settings->Maven并选中Download Artifact Sources+Download Artifact JavaDoc复选框……我移动了一个类的方法,该方法返回True
11:26:54,112 DEBUG [org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver] - Found javax.persistence.Persistence on classpath containing 'getPersistenceUtil'. Assuming JPA 2 environment. Trying to instantiate JPA aware TraversableResolver
11:26:54,113 DEBUG [org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver] - Instantiated JPA aware TraversableResolver of type org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.
11:26:54,113 DEBUG [org.hibernate.validator.internal.xml.ValidationXmlParser] - Trying to load META-INF/validation.xml for XML based Validator configuration.
11:26:54,113 DEBUG [org.hibernate.validator.internal.xml.ValidationXmlParser] - No META-INF/validation.xml found. Using annotation based configuration only.
Is bean validation implementation available: true