java参数验证
来源:互联网 发布:大连软件职业学院几本 编辑:程序博客网 时间:2024/05/16 04:55
一、导包
hibernate-validator-4.2.0.Final.jar
validation-api-1.0.0.GA.jar
二、配置文件
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"></bean><mvc:annotation-driven validator="validator" />三、controller层(注意:BindingResult必须跟在实体类AmbComboForm 后面)
public Result getComboList(@Valid AmbComboForm form, BindingResult result) { //这是取得所有验证字段的error if (result.hasErrors()){ List<ObjectError> errorList = result.getAllErrors(); for(ObjectError error : errorList){ return ERROR(error.getDefaultMessage()); } } //验证单个字段的error if(result.hasFieldErrors("from_entity")){ return ERROR(result.getFieldError("from_entity").toString()); } }
四、实体类
public class AmbComboForm {private Integer start;private Integer length;@NotBlank(message="套餐名不能为空")private String combo_name;private String combo_code;@NotNull(message="套餐价不能为空")private Double combo_price;private String combo_name_code; 省略对应的get,set方法}
五、在有些情况下,有的方法引用实体类的时候
我们有时在实体类中验证的字段值X,实体类同时被A和B两个方法验证引用,但是B方法不需要验证X如果调用就会报错
我们就要将实体类中的验证字段分为两个级别,First、Second,需要两个接口
public interface First { 内容可以为空......}<pre name="code" class="html">public interface Second{ 内容可以为空......}
实体类中做区分
@NotBlank(message="...不能为空", groups={First.class,Second.class})public String getFrom_entity() {return from_entity;}@NotNull(message="...不能为空", groups={Second.class})public Integer getId() { return id;}controller中验证(需要验证哪个@Validated({ 传接口类就可以了 }))
public Result updateCombo(@Validated({ First.class,Second.class }) AmbComboForm form, BindingResult result) {}
0 0
- java参数验证
- JAVA参数验证 Validation(一)
- java validation 后台参数验证
- java利用注解做参数验证
- java org.hibernate.validator 后台参数验证
- 验证参数
- 参数验证
- 实现一个可配置的java web 参数验证器
- JAVA参数验证 Validation(二)分组校验&自定义校验
- 验证中“参数”作用
- golang的参数验证
- AOP验证参数是否合法
- jeesite 参数验证失败
- ofbiz service 参数验证
- PHP参数验证
- Struts2 请求参数验证
- PhalGo-参数验证过滤
- 自定义注解验证参数
- C语言指向多维数组的指针
- iOS极光推送 点击推送消息跳转页面
- 解析json字符串并进行图片位置的替换
- Linux-非结构化数据同步-Linux下Sersync+Rsync实现非结构化增量差异数据的实时同步3
- Stack overflow
- java参数验证
- size_type和size_t的总结
- Jackson 框架,轻易转换JSON
- ecshop首页滚动仿京东全球购大图配2小图
- ascii' codec can't encode characters in position 598-599: ordinal not in range(128)解决方案
- Java正则表达式
- 兼容iOS7以上设置推送,跳转app设置界面
- 如何在Spring容器中加载自定义的配置文件
- 关于人生的