2016-12-12 88 views
0

爲了驗證我的表單,我正在關注this tutorial,但由於我使用的是spring引導,因此我想避免使用mvc-dispatcher-servlet.xml文件。Spring boot validate form

因此,而不是將它在我在@Configuration類寫了一個bean的項目,獲得這樣的信息:

Field validator in my.package.controller.MyController required a bean of type 'org.springframework.validation.Validator' that could not be found. 
- Bean method 'resourceServerProperties' not loaded because @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.common.OAuth2AccessToken' 

我已經試過這兩個豆類:

@Bean 
public Validator validator() {  
    return new org.springframework.validation.beanvalidation.LocalValidatorFactoryBean(); 
}  

@Bean 
public javax.validation.Validator localValidatorFactoryBean() { 
    return new LocalValidatorFactoryBean(); 
} 

與同結果。 我做錯了什麼?

+2

刪除這些豆。您正在聲明您正在使用已經配置該Bean的Spring Boot。您不需要在要驗證的方法參數上注入任何只需要「@ Valid」的任何東西。 –

回答

2

您可以指定OrderValidator爲@Component,它實現org.springframework.validation.Validator,因此可以找到並注入Validator實現。

+0

我沒有這個錯誤了,謝謝! – tina