Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 控制器'中没有@Valid的弹簧验证;在没有实现验证程序接口的情况下,是否使用s处理程序方法?_Java_Spring - Fatal编程技术网

Java 控制器'中没有@Valid的弹簧验证;在没有实现验证程序接口的情况下,是否使用s处理程序方法?

Java 控制器'中没有@Valid的弹簧验证;在没有实现验证程序接口的情况下,是否使用s处理程序方法?,java,spring,Java,Spring,我有一个模型,其中一个字段用@NotNull public class Employee { @NotNull private String name; //other fields and getters/setters } 但我没有控制器。我只想在调用此方法(此方法位于Spring组件的类中)或手动验证时调用Employee模型上的验证 使用控制器时,我可以使用注释处理程序方法,该方法带有@Valid Employee emp,后跟BindingResults。但我

我有一个模型,其中一个字段用
@NotNull

public class Employee {
    @NotNull
    private String name;
    //other fields and getters/setters
}
但我没有控制器。我只想在调用此方法(此方法位于Spring组件的类中)或手动验证时调用
Employee
模型上的验证

使用控制器时,我可以使用注释处理程序方法,该方法带有
@Valid Employee emp
,后跟
BindingResults
。但我没有控制器

或者在某些场景中,我可以实现
Validator
接口,然后使用
BeanPropertyBindingResult
ValidationUtils.invokeValidator
的组合。但是,在这种情况下,除非我在
验证器
实现中为其添加验证,否则不会调用model
Employee
上的
@NotNull


还有其他方法吗?

找到通过在方法中使用此方法发布的解决方案:

javax.validation.Validator javaxValidator = javax.validation.Validation.buildDefaultValidatorFactory().getValidator();

org.springframework.validation.beanvalidation.SpringValidatorAdapter validator = new org.springframework.validation.beanvalidation.SpringValidatorAdapter(javaxValidator);

org.springframework.validation.Errors errors = new org.springframework.validation.BeanPropertyBindingResult.BeanPropertyBindingResult(objectThatNeedsToBeValidated, objectThatNeedsToBeValidated.getClass().getName());
validator.validate(objectThatNeedsToBeValidated, errors);

编辑:

找到通过在方法中使用此发布的解决方案:

javax.validation.Validator javaxValidator = javax.validation.Validation.buildDefaultValidatorFactory().getValidator();

org.springframework.validation.beanvalidation.SpringValidatorAdapter validator = new org.springframework.validation.beanvalidation.SpringValidatorAdapter(javaxValidator);

org.springframework.validation.Errors errors = new org.springframework.validation.BeanPropertyBindingResult.BeanPropertyBindingResult(objectThatNeedsToBeValidated, objectThatNeedsToBeValidated.getClass().getName());
validator.validate(objectThatNeedsToBeValidated, errors);
编辑: