最近要做動(dòng)態(tài)數(shù)據(jù)的提交處理,即需要分析提交數(shù)據(jù)字段定義信息后才能明確對應(yīng)的具體字段類型,進(jìn)而做數(shù)據(jù)類型轉(zhuǎn)換和字段有效性校驗(yàn),然后做業(yè)務(wù)處理后提交數(shù)據(jù)庫,自己開發(fā)一套校驗(yàn)邏輯的話周期太長,因此分析了Spring Validation的實(shí)現(xiàn)原理,復(fù)用了其底層花樣繁多的Validator,在此將分析Spring Validation原理的過程記錄下,不深入細(xì)節(jié)
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、做網(wǎng)站、網(wǎng)站制作易于使用并且具有良好的響應(yīng)性。如何使用Spring Validation
Spring Bean初始化時(shí)校驗(yàn)Bean是否符合JSR-303規(guī)范
1、手動(dòng)添加BeanValidationPostProcessor Bean
2、在model類中定義校驗(yàn)規(guī)則,如@Max、@Min、@NotEmpty
3、聲明Bean,綜合代碼如下:
@Bean public BeanPostProcessor beanValidationPostProcessor() { return new BeanValidationPostProcessor(); } @Bean public UserModel getUserModel() { UserModel userModel = new UserModel(); userModel.setUsername(null); userModel.setPassword("123"); return userModel; } @Data class UserModel { @NotNull(message = "username can not be null") @Pattern(regexp = "[a-zA-Z0-9_]{5,10}", message = "username is illegal") private String username; @Size(min = 5, max = 10, message = "password's length is illegal") private String password; }