@Test
public void customValidation() throws Exception {
DefaultMessageHandlerMethodFactory instance = createInstance();
instance.setValidator(new Validator() {
@Override
public boolean supports(Class<?> clazz) {
return String.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
String value = (String) target;
if ("failure".equals(value)) {
errors.reject("not a valid value");
}
}
});
instance.afterPropertiesSet();
InvocableHandlerMethod invocableHandlerMethod =
createInvocableHandlerMethod(instance, "payloadValidation", String.class);
thrown.expect(MethodArgumentNotValidException.class);
invocableHandlerMethod.invoke(MessageBuilder.withPayload("failure").build());
}
java类org.springframework.validation.Validator的实例源码
DefaultMessageHandlerMethodFactoryTests.java 文件源码
项目:spring4-understanding
阅读 33
收藏 0
点赞 0
评论 0
SendController.java 文件源码
项目:setra
阅读 41
收藏 0
点赞 0
评论 0
@Autowired
public SendController(final MessageSenderService messageService,
final @Qualifier("mvcValidator") Validator validator,
final SecureTransferConfiguration config) {
this.messageService = messageService;
this.validator = validator;
this.config = config;
}
WebConfiguratie.java 文件源码
项目:OperatieBRP
阅读 36
收藏 0
点赞 0
评论 0
/**
* Registreer de specifieke validators.
* @param validators validators
*/
public void setValidators(final Validator[] validators) {
for (final Validator validator : validators) {
if (!(validator instanceof GlobalValidator)) {
this.validators.add(validator);
}
}
}
WebConfiguratie.java 文件源码
项目:OperatieBRP
阅读 44
收藏 0
点赞 0
评论 0
@Override
public boolean supports(final Class<?> clazz) {
for (final Validator validator : validators) {
if (validator.supports(clazz)) {
return true;
}
}
return false;
}
WebConfiguratie.java 文件源码
项目:OperatieBRP
阅读 37
收藏 0
点赞 0
评论 0
@Override
public void validate(final Object target, final Errors errors) {
for (final Validator validator : validators) {
if (validator.supports(target.getClass())) {
validator.validate(target, errors);
}
}
}
ProductValidator.java 文件源码
项目:Webstore
阅读 36
收藏 0
点赞 0
评论 0
public void validate(Object target, Errors errors) {
Set<ConstraintViolation<Object>> constraintViolations = beanValidator.validate(target);
for (ConstraintViolation<Object> constraintViolation : constraintViolations) {
String propertyPath = constraintViolation.getPropertyPath().toString();
String message = constraintViolation.getMessage();
errors.rejectValue(propertyPath, "", message);
}
for(Validator validator: springValidators) {
validator.validate(target, errors);
}
}
PathologicalReportsApplication.java 文件源码
项目:pathological-reports
阅读 40
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource);
return validator;
}
WebConfig.java 文件源码
项目:spring-boot-seed
阅读 37
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean();
localValidatorFactoryBean.setProviderClass(org.hibernate.validator.HibernateValidator.class);
localValidatorFactoryBean.setValidationMessageSource(messageSource());
return localValidatorFactoryBean;
}
HockeyGameApplication.java 文件源码
项目:hockey-game
阅读 43
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource);
return validator;
}
CommonControllerAdvice.java 文件源码
项目:oma-riista-web
阅读 35
收藏 0
点赞 0
评论 0
private Validator[] supportedValidatorsFor(Class<?> clazz) {
final Set<Validator> supportedValidators = new HashSet<>();
for (Validator validator : validators) {
if (validator.supports(clazz)) {
supportedValidators.add(validator);
}
}
return supportedValidators.toArray(new Validator[supportedValidators.size()]);
}
MessageBrokerConfigurationTests.java 文件源码
项目:spring4-understanding
阅读 46
收藏 0
点赞 0
评论 0
@Test
public void simpValidatorCustom() {
final Validator validator = mock(Validator.class);
AbstractMessageBrokerConfiguration config = new BaseTestMessageBrokerConfig() {
@Override
public Validator getValidator() {
return validator;
}
};
assertSame(validator, config.simpValidator());
}
MessageBrokerConfigurationTests.java 文件源码
项目:spring4-understanding
阅读 38
收藏 0
点赞 0
评论 0
@Test
public void simpValidatorInjected() {
SimpAnnotationMethodMessageHandler messageHandler =
this.simpleBrokerContext.getBean(SimpAnnotationMethodMessageHandler.class);
assertThat(messageHandler.getValidator(), Matchers.notNullValue(Validator.class));
}
PayloadArgumentResolverTests.java 文件源码
项目:spring4-understanding
阅读 42
收藏 0
点赞 0
评论 0
private Validator testValidator() {
return new Validator() {
@Override
public boolean supports(Class<?> clazz) {
return String.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
String value = (String) target;
if ("invalidValue".equals(value)) {
errors.reject("invalid value");
}
}
};
}
MultiActionController.java 文件源码
项目:spring4-understanding
阅读 33
收藏 0
点赞 0
评论 0
/**
* Bind request parameters onto the given command bean
* @param request request from which parameters will be bound
* @param command command object, that must be a JavaBean
* @throws Exception in case of invalid state or arguments
*/
protected void bind(HttpServletRequest request, Object command) throws Exception {
logger.debug("Binding request parameters onto MultiActionController command");
ServletRequestDataBinder binder = createBinder(request, command);
binder.bind(request);
if (this.validators != null) {
for (Validator validator : this.validators) {
if (validator.supports(command.getClass())) {
ValidationUtils.invokeValidator(validator, command, binder.getBindingResult());
}
}
}
binder.closeNoCatch();
}
WebMvcConfigurerComposite.java 文件源码
项目:spring4-understanding
阅读 39
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
List<Validator> candidates = new ArrayList<Validator>();
for (WebMvcConfigurer configurer : this.delegates) {
Validator validator = configurer.getValidator();
if (validator != null) {
candidates.add(validator);
}
}
return selectSingleInstance(candidates, Validator.class);
}
WebMvcConfigurationSupportExtensionTests.java 文件源码
项目:spring4-understanding
阅读 35
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
return new Validator() {
@Override
public void validate(Object target, Errors errors) {
errors.reject("invalid");
}
@Override
public boolean supports(Class<?> clazz) {
return true;
}
};
}
WebMvcConfigurationSupportTests.java 文件源码
项目:spring4-understanding
阅读 31
收藏 0
点赞 0
评论 0
@Test
public void requestMappingHandlerAdapter() throws Exception {
ApplicationContext context = initContext(WebConfig.class);
RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class);
List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
assertEquals(9, converters.size());
for(HttpMessageConverter<?> converter : converters) {
if (converter instanceof AbstractJackson2HttpMessageConverter) {
ObjectMapper objectMapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
assertFalse(objectMapper.getDeserializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
assertFalse(objectMapper.getSerializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION));
assertFalse(objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES));
if (converter instanceof MappingJackson2XmlHttpMessageConverter) {
assertEquals(XmlMapper.class, objectMapper.getClass());
}
}
}
ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer();
assertNotNull(initializer);
ConversionService conversionService = initializer.getConversionService();
assertNotNull(conversionService);
assertTrue(conversionService instanceof FormattingConversionService);
Validator validator = initializer.getValidator();
assertNotNull(validator);
assertTrue(validator instanceof LocalValidatorFactoryBean);
DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(adapter);
@SuppressWarnings("unchecked")
List<Object> bodyAdvice = (List<Object>) fieldAccessor.getPropertyValue("requestResponseBodyAdvice");
assertEquals(2, bodyAdvice.size());
assertEquals(JsonViewRequestBodyAdvice.class, bodyAdvice.get(0).getClass());
assertEquals(JsonViewResponseBodyAdvice.class, bodyAdvice.get(1).getClass());
}
MethodJmsListenerEndpointTests.java 文件源码
项目:spring4-understanding
阅读 35
收藏 0
点赞 0
评论 0
private Validator testValidator(final String invalidValue) {
return new Validator() {
@Override
public boolean supports(Class<?> clazz) {
return String.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
String value = (String) target;
if (invalidValue.equals(value)) {
errors.reject("not a valid value");
}
}
};
}
WebMvcConfig.java 文件源码
项目:bag-database
阅读 33
收藏 0
点赞 0
评论 0
@Override
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}
SpringDataRestValidationConfiguration.java 文件源码
项目:SMSC
阅读 40
收藏 0
点赞 0
评论 0
@Override
public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener validatingListener) {
Validator validator = validator();
//bean validation always before save and create
validatingListener.addValidator("beforeCreate", validator);
validatingListener.addValidator("beforeSave", validator);
}
ConfigurationPropertiesBindingPostProcessor.java 文件源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
阅读 42
收藏 0
点赞 0
评论 0
private void freeLocalValidator() {
try {
Validator validator = this.localValidator;
this.localValidator = null;
if (validator != null) {
((DisposableBean) validator).destroy();
}
}
catch (Exception ex) {
throw new IllegalStateException(ex);
}
}
ConfigurationPropertiesBindingPostProcessor.java 文件源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
阅读 37
收藏 0
点赞 0
评论 0
private Validator determineValidator(Object bean) {
Validator validator = getValidator();
boolean supportsBean = (validator != null && validator.supports(bean.getClass()));
if (ClassUtils.isAssignable(Validator.class, bean.getClass())) {
if (supportsBean) {
return new ChainingValidator(validator, (Validator) bean);
}
return (Validator) bean;
}
return (supportsBean ? validator : null);
}
ConfigurationPropertiesBindingPostProcessor.java 文件源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
阅读 32
收藏 0
点赞 0
评论 0
private Validator getValidator() {
if (this.validator != null) {
return this.validator;
}
if (this.localValidator == null && isJsr303Present()) {
this.localValidator = new LocalValidatorFactory()
.run(this.applicationContext);
}
return this.localValidator;
}
ConfigurationPropertiesBindingPostProcessor.java 文件源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
阅读 37
收藏 0
点赞 0
评论 0
@Override
public boolean supports(Class<?> clazz) {
for (Validator validator : this.validators) {
if (validator.supports(clazz)) {
return true;
}
}
return false;
}
ConfigurationPropertiesBindingPostProcessor.java 文件源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
阅读 45
收藏 0
点赞 0
评论 0
@Override
public void validate(Object target, Errors errors) {
for (Validator validator : this.validators) {
if (validator.supports(target.getClass())) {
validator.validate(target, errors);
}
}
}
ListValidationUtils.java 文件源码
项目:subs
阅读 34
收藏 0
点赞 0
评论 0
/**
* Use a validator on a list of objects, correctly handling changes to the nestedPath
*
* @param path
* @param validator
* @param list
* @param errors
*/
public static void invokeValidatorOnList(String path, Validator validator, List<?> list, Errors errors) {
int i = 0;
for (Object target : list) {
try {
errors.pushNestedPath(path + "[" + i + "]");
ValidationUtils.invokeValidator(validator, target, errors);
} finally {
errors.popNestedPath();
i++;
}
}
}
ValidatorConfig.java 文件源码
项目:subs
阅读 37
收藏 0
点赞 0
评论 0
@Override
public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener eventListener) {
Stream<Validator> stdValidators = Stream.of(
analysisValidator,
assayValidator,
assayDataValidator,
egaDacValidator,
egaDacPolicyValidator,
egaDatasetValidator,
projectValidator,
protocolValidator,
sampleValidator,
sampleGroupValidator,
studyValidator,
submissionValidator
);
stdValidators.forEach(validator -> {
eventListener.addValidator(BEFORE_CREATE, validator);
eventListener.addValidator(BEFORE_SAVE, validator);
});
eventListener.addValidator(BEFORE_SAVE, submissionStatusValidator);
eventListener.addValidator(BEFORE_DELETE, submissionDeleteValidator);
eventListener.addValidator(BEFORE_DELETE, submittableDeleteValidator);
}
DataBinderMappingJackson2HttpMessageConverter.java 文件源码
项目:gvnix1
阅读 32
收藏 0
点赞 0
评论 0
/**
* Default constructor
*
* @param cs
* @param validator
*/
public DataBinderMappingJackson2HttpMessageConverter(ConversionService cs,
Validator validator) {
super();
this.conversionService = cs;
this.validator = validator;
}
Jackson2RequestMappingHandlerAdapter.java 文件源码
项目:gvnix1
阅读 40
收藏 0
点赞 0
评论 0
/**
* Default constructor.
*/
@Autowired
public Jackson2RequestMappingHandlerAdapter(
ConversionService conversionService, Validator validator) {
super();
this.conversionService = conversionService;
this.validator = validator;
}
ConversionServiceObjectMapper.java 文件源码
项目:gvnix1
阅读 30
收藏 0
点赞 0
评论 0
/**
* Register custom serialization and deserialization modules.
*
* @param conversionService
* @param validator
*/
@Autowired
public ConversionServiceObjectMapper(
final ConversionService conversionService, final Validator validator) {
// Register a module to add provider for custom bean deserializer
registerModule(new ConversionServiceModule(conversionService));
// Register a module to add provider for custom bean serializer
registerModule(new DataBinderModule());
}