У меня есть функция проверки, которая возвращает, какая часть неисправна. Например -
public class DateValidator{
public String validateDate(startDate, endDate){
try{
LocalDate.parse(startDate, formatter);
LocalDate.parse(endDate, formatter);
} catch(DateTimeParseException e) {
return "INVALID_DATE_FORMAT";
}
if (startDate.isAfter(endDate)) {
return "INVALID_START_AND_END_DATES";
}
..... so on
}
}
Я хочу использовать это в Drools for Validation как
rule
"ValidateDate"
when
$error: Error();
$request: Request();
DateValidator( $dateValidation: validateDate($request.getStartDate(), $request.getEndDate()) != null);
then
$error.getBadRequest($dateValidation);
end;
Я хочу использовать тип возвращаемой переменной, так как не NULL означает, что проверка не прошлапрошло. Но я получаю ниже исключения для файла DRL -
text=Variables can not be used inside bindings.
Variable [$request] is being used in binding
'validateDate($request.getStartDate(), $request.getEndDate())']