美文网首页
spring 表单校验的分组校验

spring 表单校验的分组校验

作者: 唠嗑爱钓鱼 | 来源:发表于2019-05-06 16:15 被阅读0次

分组校验

在做restful 表单校验的时候会有一个尴尬的时候,就是如果我们方法在做保存和更新的时候所校验的的同一个类的不同的字段是不同的,那么我们用统一的dto 的时候,就会特别难处理,今天无意中看到spring有一种分组校验的功能,亲自测试,表示很好用

接口

public interface First {

}

public interface Second {

}

实体类

public class UserModel {

@NotNull(message ="{id.empty}", groups = { First.class })

private int id;

    @NotNull(message ="{username.empty}", groups = { First.class, Second.class })

private Stringusername;

    @NotNull(message ="{content.empty}", groups = { First.class, Second.class })

private Stringcontent;

    public int getId() {

return id;

    }

public void setId(int id) {

this.id = id;

    }

public StringgetUsername() {

return username;

    }

public void setUsername(String username) {

this.username = username;

    }

public StringgetContent() {

return content;

    }

public void setContent(String content) {

this.content = content;

    }

}

web 层

@RestController

public class ValideController {

@RequestMapping(value ="/save", method = RequestMethod.POST)

public Stringsave(@RequestBody @Validated( { Second.class }) UserModel userModel, BindingResult result) {

if (result.hasErrors()) {

return "validate/error";

        }

return "redirect:/success";

    }

@RequestMapping(value ="/update", method = RequestMethod.POST)

public Stringupdate(@Validated( { First.class, Second.class }) UserModel user, BindingResult result) {

System.out.println(result.getFieldError().toString());

        if (result.hasErrors()) {

return "validate/error";

        }

return "redirect:/success";

    }

}

相关文章

网友评论

      本文标题:spring 表单校验的分组校验

      本文链接:https://www.haomeiwen.com/subject/rghdoqtx.html