我的设想是:
我有一个带有JSR303验证的pojo类,如下所示:
public class Customer{
String customerId;
String name;
BigDecimal salary;
@NotNull(message = "CustomerId is mandatory")
@Size(max = 7, message = "Invalid length for customerId")
public void getCustomerId(){
return customerId;
}
@NotNull(message = "Name is mandatory")
public void getName(){
return name;
}
@Digits(integer=5, fraction=3, message="Invalid length for salary")
public void getSalary(){
return salary;
}
}
我的要求是,我想知道哪个特定字段没有通过验证,我想把消息写在“消息”属性中。
目前,我能够跟踪字段名称,但不能跟踪“消息”属性中存在的消息。
我使用以下方法。
public void validateCustomer(Customer customer){
Errors errors = this.errorFactory.getInstance(Customer,
Customer.class.getName());
jsrValidator.validate(customer, errors);
if(errors.hasErrors()){
if(errors.getFieldError() != null){
//fieldName that failed to validate.
String fieldName = errors.getFieldError().getField();
//I also want the message written in the attribute
"message" of the annotation.
}
}
}
我还希望将消息写在注释的属性“消息”中。我怎样才能得到它?有可能这样做吗?
什么是jsrValidator?我认为它应该是Validator的一个实例,并且有一个返回Set的验证(...)方法。并且消息应该在每个ConstraintViolation实例上可用。
假设我有以下课程: 是否可以通过“MyProduct”类验证“code”属性?比如:
我有一个kotlin类,它的属性有一个Java的注释,但是我不能用Java反射访问这些注释: 以下测试打印为空: 如何获取给定kotlin属性的注释?
我正在使用Hibernate@NotNull验证器,我正在尝试创建自定义消息来告诉用户哪个字段在空时产生了错误。类似这样的东西: (这将在我的ValidationMessages.properties文件中)。 其中,{0}应该是通过以下方式传递给验证程序的字段名: 我有办法做到吗?
我知道如果我们知道注释类,我们可以很容易地获得特定的注释并访问其属性。例如: 它将返回特定注释接口的引用,因此您可以轻松访问其值。 我的问题是,我是否对特定的注释类没有预先了解。我只想在运行时使用反射来获取所有注释类名及其属性,以便将类信息转储为例如JSON文件。我怎样才能以简单的方式做到这一点。 此方法将仅返回注释接口的动态代理。
如果我有: 我可以通过使用getBean方法之一获得bean和资源。然而,我不知道如何获取属性值。 显然,我可以创建一个具有@Value属性的新bean,如: 我在Application Context对象上调用什么方法来获得该值而无需自动装配bean? 我通常使用@Value,但有一种情况是SPeL表达式需要是动态的,所以我不能只使用注释。
我昨天让它工作,然后我做了一些事情,现在我一直试图修复它几个小时,我只是无法让它工作了。 我有一个包含