在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 關(guān)于Java Bean Validation校驗(yàn)非對象的問題。

關(guān)于Java Bean Validation校驗(yàn)非對象的問題。

Bean Validation可以對方法的入?yún)ean進(jìn)行校驗(yàn),如:

@RequestMapping(value="/create",method= RequestMethod.POST)
@ResponseBody
public ResponseEntity create(@RequestBody @Valid ObjectVO vo) {
    return null;
}

接下來只要在vo的屬性里寫上要校驗(yàn)的注解如@NotEmpty就可以了,在這種Java類里面是能起到校驗(yàn)的效果的,我想問的是如果入?yún)⑹且粋€(gè)List<ObjectVO>或者直接就是一個(gè)String,還可以通過這樣子的寫法來校驗(yàn)嗎?如:

@RequestMapping(value="/create",method= RequestMethod.POST)
@ResponseBody
public ResponseEntity create(@RequestBody @Valid @NotEmpty(message = "內(nèi)容不能為空") String content) {
    return null;
}

這樣的寫法我試過好像不能起到校驗(yàn)的作用,同理如果入?yún)⑹荓ist也不行,但是如果是某個(gè)Java Bean下的List屬性就可以校驗(yàn)。我不確定是不是因?yàn)樗麄儧]有屬性的get方法所以不能起到校驗(yàn)的效果還是我的寫法不對。因此想求問一下大牛們,Java Bean Validation怎么對非對象的入?yún)⑦M(jìn)行校驗(yàn)?

回答
編輯回答
心癌

方法參數(shù)級別的校驗(yàn)
1.注冊一個(gè)Bean,org.springframework.validation.beanvalidation.MethodValidationPostProcessor
2.在需要校驗(yàn)的類上加上@Validated注解
3.自定義全局異常處理器處理異常,即implements HandlerExceptionResolver
親測可用。

2017年11月3日 04:50
編輯回答
久不遇

用requestParam可以校驗(yàn)是否為空的

2017年11月30日 16:20
編輯回答
孤慣

魔鬼筋肉人的方案是可行的,用spring的validation對Java Bean Validation進(jìn)行擴(kuò)展。
具體配置方法傳送門:https://www.cnblogs.com/beiya...
可以看下“Spring validator 方法級別的校驗(yàn)”的部分

2018年2月25日 04:00