我的日期验证有问题。它只在开始时起作用。我把日期再次删除后就停止了工作。使用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尝试了这个解决方案,一切都像魅力一样