我试图验证一个对象,并使用Spring返回一条有意义的响应消息。
我希望它检查给定的String只能有5个特定值的条件。
相反,我被抛出了一个NotReadablePropertyException,基本上什么也没有返回。
我做错了什么?
@Override
public void validate(Object obj, Errors error) {
Jobs job = (Jobs) obj;
String recurrence = job.getRecurrence();
if(!recurrence.equals(RecurrenceStatus.TEST)
&& !recurrence.equals(RecurrenceStatus.DAILY) && !recurrence.equals(RecurrenceStatus.FREQUENTLY)
&& !recurrence.equals(RecurrenceStatus.WEEKLY) && !recurrence.equals(RecurrenceStatus.MONTHLY)){
error.rejectValue("RECURRENCE STATUS", "422", "The recurrence status must be one of these: " + RecurrenceStatus.ALLSTATUS);
}
}发布于 2018-03-22 15:01:44
当您查看rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.String defaultMessage)的签名时,可以看到第一个参数是field。它引用了Jobs类中的一个字段。
我不认为field =“递归状态”的当前值可以做到这一点!
您应该将其更改为职务类的“引用”字段。
查看Spring错误文档。
https://stackoverflow.com/questions/49431910
复制相似问题