【问题标题】:Vaadin DateField validation does not show validation errorsVaadin DateField 验证不显示验证错误
【发布时间】:2017-10-06 11:06:48
【问题描述】:

您好,我正在使用 Vaadin 8,我正在尝试使用 Vaadins 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 提供输入时显示验证错误?

【问题讨论】:

    标签: java datepicker vaadin vaadin8


    【解决方案1】:

    显然Validator 不管理 ValueChange 事件。你可以像这样自己做:

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

    还有一些例子validate()函数:

    private void validate(Validator validator, LocalDateTime dateTime)
    {
        validator.apply(dateTime, ...);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多