Spring 验证器在 POST 上抛出 NotReadablePropertyException
Spring Validator throws NotReadablePropertyException on POST
我正在尝试使用 Spring 验证程序验证对象和 return 有意义的响应消息。
我想让它检查给定的 String
只能是 5 个特定值的条件。
相反发生的是,我得到一个 NotReadablePropertyException
抛出并且 return 基本上没有..
我做错了什么?
@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);
}
}
当您查看 rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.String defaultMessage)
的签名时,您可以看到第一个参数是 field
。它指的是您 Jobs
class 中的一个字段。
我不认为你当前的 field
= "RECURRENCE STATUS" 值能做到这一点!
您应该将其更改为您工作的引用字段 class。
检查 Spring 个错误 documentation。
我正在尝试使用 Spring 验证程序验证对象和 return 有意义的响应消息。
我想让它检查给定的 String
只能是 5 个特定值的条件。
相反发生的是,我得到一个 NotReadablePropertyException
抛出并且 return 基本上没有..
我做错了什么?
@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);
}
}
当您查看 rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.String defaultMessage)
的签名时,您可以看到第一个参数是 field
。它指的是您 Jobs
class 中的一个字段。
我不认为你当前的 field
= "RECURRENCE STATUS" 值能做到这一点!
您应该将其更改为您工作的引用字段 class。
检查 Spring 个错误 documentation。