Vaadin DateField验证不显示验证错误
问题描述:
你好我正在使用Vaadin 8和即时尝试使用Vaadins DateField用户输入。Vaadin DateField验证不显示验证错误
private DateField date = new DateField("Date of Birth");
...
binder.forField(date).asRequired("Some Warning").withValidator(new DateValidator()).bind(Person::getDateOfBirth, Person::setDateOfBirth);
DateValidator检查Person是否至少18岁。
问题是,如果我使用日期选择器,它集成在DateField中,如果Person年龄小于18,则不会向用户显示验证错误。但是,当我输入日期并按Enter键或切换到另一个输入字段出现验证错误。
如何通过Datepicker获得输入时显示验证错误?
答
显然Validator
不管理ValueChange事件。你可以做你自己是这样的:
date.addValueChangeListener(event ->
validate(event.getSource().getDefaultValidator(), event.getValue()));
而一些例子validate()
功能:
private void validate(Validator validator, LocalDateTime dateTime)
{
validator.apply(dateTime, ...);
}