Vaadin日期验证,2个或更多验证者

时间:2017-10-18 11:41:21

标签: java validation vaadin vaadin8 vaadin4spring

我的日期验证有问题。它只在开始时起作用。我把日期再次删除后就停止了工作。使用String字段可以正常工作。此外我希望使用2个验证器但它只能检测到一个 有人可以帮我或给我一个提示吗?

首先我在我的DateEditor中定义我需要验证:

@Override
public void setConfiguration(EditorConfiguration editorConfiguration) {
    Validator<LocalDate> validator = ((DateFieldConfiguration) editorConfiguration).getValidator();
    Validator<LocalDate> validator2 = ((DateFieldConfiguration) editorConfiguration).getValidator2();
    if (validator != null && validator2 != null) {
        binder.forField(this).withValidator(validator).withValidator(validator2).asRequired("Mandatory")
                .bind(s -> getValue(), (b, v) -> setValue(v));

    }
}

在我的问题配置中,我添加了验证器方法:

private Validator<LocalDate> dateRequiredValidator() {

    return Validator.from(v -> v != null,
            "Feld darf nicht leer sein");
}

private Validator<LocalDate> dateNotAllowedValidator() {
    LocalDate today = LocalDate.now();
    return Validator.from(v -> !(v.isAfter(today)),"Datum kann nicht in der Zulunft sein");
}

我保证我会执行

question.setEditorConfiguration(new DateFieldConfiguration(dateRequiredValidator(),dateNotAllowedValidator()));

我用我的String Field尝试了这个解决方案,一切都像魅力一样

0 个答案:

没有答案