2017-10-06 14 views
0

こんにちは私は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歳以上であることを確認します。

DatePickerを使用すると、DateFieldに統合されているという問題があります。Personが18歳未満の場合、検証エラーはユーザーに表示されません。ただし、日付を入力してEnterキーを押すか、入力フィールドに検証エラーが表示されます。

入力がDatepickerを介して与えられたときに検証エラーが表示されるようにするにはどうすればよいですか?

答えて

0

明らかにValidatorValueChangeイベントを管理していません。あなたはこのように自分でそれを行うことができます。

date.addValueChangeListener(event -> 
     validate(event.getSource().getDefaultValidator(), event.getValue())); 

そして、いくつかの例validate()機能:

private void validate(Validator validator, LocalDateTime dateTime) 
{ 
    validator.apply(dateTime, ...); 
} 
関連する問題