有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Vaadin日期验证,2个或更多验证程序

我对日期验证有问题。它只在开始时起作用。在我输入日期并再次删除后,它将停止工作。对于字符串字段,它可以工作。此外,我希望使用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()));

我用我的字符串字段尝试了这个解决方案,一切都像一个符咒


共 (0) 个答案