Код: Выделить всё
Person's date of birth:
< /code>
Я хочу, чтобы на стороне сервера проверила отправленные данные, используя следующий компонент: < /p>
@Getter @Setter //from Lombok
public class FormData {
@NotBlank
@FormParam("someDate")
@MvcBinding
private String birthdayAsString;
@MvcBinding
@Past
public LocalDate getBirthday(){
try {
return LocalDate.parse(birthdayAsString);
}
catch (DateTimeParseException ex){
return null;
}
}
}
< /code>
Проверка выполняется в методе ресурса, подобно следующему: < /p>
// this is a part of a controller class that process a GET and multiple POST requests
@Inject private BindingResult bindingResult;
@POST
@Path("bean")
public void postData(@Valid @BeanParam FormData form){
for(ParamError error : bindingResult.getAllErrors() )
{
System.out.println(error.getParamName()+":"+error.getMessage());
}
System.out.println(form);
}
< /code>
Проблема возникает, когда я отправляю форму с настоящей или будущей датой. В таком случае я получаю предупреждение: < /p>
WARNING: Cannot resolve paramName for violation: ConstraintViolationImpl{interpolatedMessage='must be a past date', propertyPath=postData.arg0.birthday, rootBeanClass=x.y.z.FormController$Proxy$_$$_WeldSubclass, messageTemplate='{jakarta.validation.constraints.Past.message}'}Как я могу установить параметры для моего ограничения, чтобы этот ограничение насилию, я не могу использовать его, а не имя, а не имя, а не имя, а не имя, а не имя, а не зовут, а не зовут, а не зовут, а не зовут, а не зовут, а не зовут, а не зовут, а не зовут (а не имя, а не зовут, а не натрону null )?
Подробнее здесь: https://stackoverflow.com/questions/797 ... constraint