Skip to content

Commit

Permalink
feat: provide ValidationUtils by default
Browse files Browse the repository at this point in the history
  • Loading branch information
taccisum committed Oct 9, 2019
1 parent 6a71620 commit c3baa40
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package ${basePackage}.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.validation.BindException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.beanvalidation.SpringValidatorAdapter;

import javax.validation.Validator;

@Component
public class ValidationUtils {
private static Validator validator;
private static SpringValidatorAdapter springValidator;

@Autowired
public void setValidator(Validator validator) {
ValidationUtils.validator = validator;
ValidationUtils.springValidator = new SpringValidatorAdapter(validator);
}

/**
* 校验参数,返回详细错误信息
*/
public static <T> BindingResult validate(T target, Class<?>... groups) {
BeanPropertyBindingResult errors = new BeanPropertyBindingResult(target, target.getClass().getName());
springValidator.validate(target, errors, groups);
return errors;
}

/**
* 校验参数,如果失败则抛出异常
*/
public static <T> void validateAndThrow(T target, Class<?>... groups) throws BindException {
BindingResult errors = validate(target, groups);
if (errors.hasErrors()) {
throw new BindException(errors);
}
}
}
1 change: 1 addition & 0 deletions generators/test/app/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,7 @@ required.addProviderClasses([
'exception/BizErrorResponseStatus.java',
'config/web/ConverterConfigurer.java',
'util/ConverterUtils.java',
'util/ValidationUtils.java',
'domain/.gitkeep',
'domain/dto/.gitkeep',
'domain/entity/.gitkeep',
Expand Down

0 comments on commit c3baa40

Please sign in to comment.