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

鍍金池/ 問答/Java  C/ java @Vaild 可以用在對象上面作注解校驗嗎

java @Vaild 可以用在對象上面作注解校驗嗎

public String save(@RequestBody @Valid Stad stad)
只有對象的時候是沒問題的,現(xiàn)在保存對象的時候還有一個文件同時要上傳上來,
因為對象封裝json在data里面,我想再把json轉(zhuǎn)成對象再校驗可以嗎

public String save(
            @RequestParam("data")String data,
            @RequestParam("file")MultipartFile file
    ) throws IOException {
        @Valid
        Stad stad = JSON.parseObject(data, Stad.class);
        ……
    }

或者

public String save(
            @RequestParam("data") @RequestBody @Valid Stad stad,
            @RequestParam("file")MultipartFile file
    )

前臺

<form id="stad" action="/save" method="post" enctype="multipart/form-data">
    <p><input type="file" name="file"/></p>
    <p><input type="text" name="name" placeholder="name"></p>
    <p><input type="text" name="addr" placeholder="addr"></p>
    <p><input type="text" name="router" placeholder="router"></p>
    <p><input type="text" name="url" placeholder="url"></p>
    <p><button type="submit">提交</button></p>
</form>

非常感謝 @馳星周 提供的方法

最后解決方法
多添加了一個對屬性的注解驗證,只驗證實體的時候沒有驗證,而加上對其中一個屬性的驗證,實體驗證就會起作用了,可能是我哪里寫的不對,暫時曲線救國

public String save(
            @RequestParam("file")MultipartFile file,
            @Valid Stad stad,
            @Valid @NotNull String name
    )
回答
編輯回答
怣痛

直接

public String save(
            @RequestParam("file")MultipartFile file,@Valid Stad stad,BindingResult result
    )

就可以校驗了,表單提交或者ajax上傳都可以,不用json轉(zhuǎn)換。

2017年6月17日 05:31