当前位置: 首页 > news >正文

网站建设台州seo的优缺点

网站建设台州,seo的优缺点,北京国家建设部网站首页,做佛教网站后端在处理前端传过来的数据时,尽管前端表单已经加了校验逻辑,但是作为严谨考虑,在后端对接口传输的数据做校验也必不可少。 开启校验: 实体类上增加校验注解,接口参数前增加Valid 开启校验 package com.xxh.product.…

后端在处理前端传过来的数据时,尽管前端表单已经加了校验逻辑,但是作为严谨考虑,在后端对接口传输的数据做校验也必不可少。

开启校验:
实体类上增加校验注解,接口参数前增加@Valid 开启校验

package com.xxh.product.entity;import javax.validation.constraints.*;
import org.hibernate.validator.constraints.URL;/*** 品牌** @author xxh*/
@Data
@TableName("pms_brand")
public class BrandEntity implements Serializable {private static final long serialVersionUID = 1L;/*** 品牌id*/@NotNull(message = "修改必须指定品牌id", groups = {UpdateGroup.class})@Null(message = "新增不能指定id", groups = {AddGroup.class})@TableIdprivate Long brandId;/*** 品牌名*/@NotBlank(message = "品牌名必须提交", groups = {AddGroup.class, UpdateGroup.class})private String name;/*** 品牌logo地址*/@NotBlank(groups = {AddGroup.class})@URL(message = "logo必须是一个合法的url地址", groups = {AddGroup.class, UpdateGroup.class})private String logo;/*** 介绍*/private String descript;/*** 显示状态[0-不显示;1-显示]*/
//	@Pattern()@NotNull(groups = {AddGroup.class, UpdateStatusGroup.class})@ListValue(vals = {0, 1}, groups = {AddGroup.class, UpdateStatusGroup.class})private Integer showStatus;/*** 检索首字母*/@NotEmpty(groups = {AddGroup.class})@Pattern(regexp = "^[a-zA-Z]$", message = "检索首字母必须是一个字母", groups = {AddGroup.class, UpdateGroup.class})private String firstLetter;/*** 排序*/@NotNull(groups = {AddGroup.class})@Min(value = 0, message = "排序必须大于等于0", groups = {AddGroup.class, UpdateGroup.class})private Integer sort;
}
@RequestMapping("/save")
//@RequiresPermissions("product:brand:save")
public R save(@Validated({AddGroup.class}) @RequestBody BrandEntity brand/*,BindingResult result*/) {brandService.save(brand);return R.ok();
}

JSR303  

1)、给Bean添加校验注解:javax.validation.constraints,并定义自己的message提示
 2)、开启校验功能@Valid
    效果:校验错误以后会有默认的响应;
 3)、给校验的参数bean后紧跟一个BindingResult,就可以获取到校验的结果
 4)、分组校验(多场景的复杂校验)
       1)、    @NotBlank(message = "品牌名必须提交",groups = {AddGroup.class,UpdateGroup.class})
        给校验注解标注什么情况需要进行校验
       2)、@Validated({AddGroup.class})
       3)、默认没有指定分组的校验注解@NotBlank,在分组校验情况@Validated({AddGroup.class})下不生效,只会在@Validated生效;
 5)、自定义校验
    1)、编写一个自定义的校验注解
    2)、编写一个自定义的校验器 ConstraintValidator
    3)、关联自定义的校验器和自定义的校验注解

自定义校验注解 

/*** 自定义校验注解 声明可以取那些值* @author xxh*/
@Documented
@Constraint(validatedBy = {ListValueConstraintValidator.class})
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
@Retention(RUNTIME)
public @interface ListValue {String message() default "{com.xxh.common.valid.ListValue.message}";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};int[] values() default {};
}

自定义校验器

package com.xxh.common.valid;/*** @author xxh*/
public class ListValueConstraintValidator implements ConstraintValidator<ListValue, Integer> {private final Set<Integer> set = new HashSet<>();/*** 初始化方法* 参数:自定义注解的详细信息*/@Overridepublic void initialize(ListValue constraintAnnotation) {int[] values = constraintAnnotation.values();for (int val : values) {set.add(val);}}/*** 判断是否校验成功** @param value   需要校验的值* @param context* @return*/@Overridepublic boolean isValid(Integer value, ConstraintValidatorContext context) {return set.contains(value);}
}

创建校验信息提示配置文件

在resource文件下创建:ValidationMessages.properties

com.xxh.common.valid.ListValue.message=必须提交指定的值

http://www.mnyf.cn/news/33704.html

相关文章:

  • 作品集怎么做网站大连网站制作
  • 网站关键词选取免费seo技术教程
  • 网站搭建原理手机优化大师怎么退款
  • 怎么开彩票网站做站长广东今天新闻最新消息
  • 图片渐隐 网站头部flash怎么上百度搜索
  • 电子商务项目策划书网络优化需要哪些知识
  • 温州网站制作建设今天新闻最新消息
  • 自建购物网站多少钱网络营销的概念和含义
  • 国外的网站建设如何搜索关键词
  • 30个做设计的网站网站推广app软件
  • 容桂网站制作动态淘宝关键词指数
  • 龙陵县住房和城乡建设局网站站长之家音效
  • 瑞安公司做网站网站seo优化多少钱
  • 网站建设分析报告国内真正的永久免费砖石
  • 烟台网站制作公司哪家好官网seo关键词排名系统
  • 做笑话网站百度自助建站官网
  • 电商网站用什么做最好如何自己开发网站
  • 渭南企业网站建设北京建公司网站价格
  • 在线网站做情侣头像精准营销名词解释
  • 东莞市建设局质量监督网站外链生成
  • 漳州房产网百度网站优化
  • 呼和浩特最好的互联网公司seo常用的工具
  • 做网站需要哪几个板块百度seo插件
  • 如何查询网站域名《新闻联播》 今天
  • 如何更换网站后台网络推广主要是做什么工作
  • 网站建设代码网站设计公司模板
  • 专业网站优化山东免费网络推广工具
  • 深圳 购物网站关键词推广
  • 四平网站优化如何网站关键词优化
  • 怎么做云购网站吗新媒体营销案例分析