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

太原h5建站网页qq登录不扫二维码

太原h5建站,网页qq登录不扫二维码,途牛的旅游网站是谁做的,手机版传奇发布网站目录 1 数据校验介绍 2 普通校验 3 分组校验 4 参考文档 1 数据校验介绍 在实际的项目中#xff0c;一般会有两种校验数据的方式#xff1a;客户端校验和服务端校验 客户端校验#xff1a;这种校验一般是在前端页面使用 JS 代码进行校验#xff0c;主要是验证输入数据…目录 1 数据校验介绍 2 普通校验 3 分组校验 4 参考文档 1 数据校验介绍 在实际的项目中一般会有两种校验数据的方式客户端校验和服务端校验 客户端校验这种校验一般是在前端页面使用 JS 代码进行校验主要是验证输入数据的合法性不合法的数据则没有必要再发送至服务端了。前端校验可以有效的提高用户体验但是无法确保数据完整性因为前端用户可以方便的拿到请求地址然后直接发送请求传递非法参数服务端校验可以有效的保证数据安全与完整性但是用户体验要差一点所以客户端校验和服务端校验通常两者结合使用 SpringMVC 提供了两种方法来对用户的输入数据进行校验一种是 SpringMVC 自带的 Validation 校验框架它提供了简洁的注解和验证规则易于使用并且与 SpringMVC 框架集成良好另一种是利用 JRS-303 验证框架进行验证JRS-303 验证框架的优势在于它的灵活性和可扩展性可以与其他框架或技术进行集成。 注解作用Null标注的属性必须为nullNotNull标注的属性必须不为nullAssertTrue标注的属性必须为trueAssertFalse标注的属性必须为falseMin(value)标注的属性必须是一个数字并且其值必须大于或等于valueMax(value)标注的属性必须是一个数字并且其值必须小于或等于valueDecimalMin(value)必须大于或等于valueDecimalMax(value)必须小于或等于valueSize(max,min)大小必须在max和min限定的范围内Digits(integer,fratction)值必须是一个数字且必须在可接受的范围内Past只能用于日期型且必须是过去的日期Future只能用于日期型且必须是将来的日期Pattern(value)必须符合指定的正则表达式Email必须是格式正确的Email地址Length被注释的字符串大小必须在指定的范围内NotEmpty被注释的字符串不能是空字符串Range被注释的元素必须在指定的范围内 NotEmpty、NotNull 和 NotBlank 三种的区别 NotNull一般用在基本数据类型上包括包装类对象不能为 null但可以为 empty即为空集size 0。NotEmpty可以作用在 String、List、Map 和 Array 等对象不能为 null而且长度必须大于0 (size 0)NotBlank只能作用在 String 上不能为 null而且调用 trim() 后长度必须大于 0 即必须有实际字符 2 普通校验 导入依赖 dependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator/artifactIdversion6.2.0.Final/version /dependency 在 SpringMVC 配置文件中配置校验器并注入到处理器适配器中 !-- 配置MVC注解驱动,配置注入校验器 -- mvc:annotation-driven validatorvalidator/!-- 配置校验器 -- bean idvalidator classorg.springframework.validation.beanvalidation.LocalValidatorFactoryBean!-- 校验器--property nameproviderClass valueorg.hibernate.validator.HibernateValidator/!-- 指定校验使用的资源文件如果不指定则默认使用classpath下的ValidationMessages.properties --property namevalidationMessageSource refmessageSource/ /bean !-- 校验错误信息配置文件 -- bean idmessageSourceclassorg.springframework.context.support.ReloadableResourceBundleMessageSource!-- 资源文件名--property namebasenameslistvalueclasspath:CustomValidationMessages/value/list/property!-- 资源文件编码格式 --property namedefaultEncoding valueutf-8/!-- 对资源文件内容缓存时间单位秒 --property namecacheSeconds value120/ /bean 创建 CustomValidationMessages.properties 配置文件和上述代码中的校验错误信息配置文件名对应也可以将错误提示信息放在一个类中 #添加校验错误提示信息 user.id.isEmpty用户的ID不能为空 user.userName.isEmpty用户名不能为空 user.userName.length用户名为1~6个字符 user.userPwd.isEmpty密码不能为空 user.userPwd.length密码的长度为5~15个字符 user.userEmail.isEmpty邮箱不能为空 user.userEmail.format输入的邮箱格式不正确 需要校验的类 User public class User {NotNull(message {user.id.isEmpty})private Integer id;NotEmpty(message {user.userName.isEmpty})Length(min 1, max 6, message {user.userName.length})private String userName;NotEmpty(message {user.userPwd.isEmpty})Length(min 5, max 15, message {user.userPwd.length})private String userPwd;NotEmpty(message {user.userEmail.isEmpty})Email(message {user.userEmail.format})private String userEmail;// 省略了 Getter、Setter 方法 校验控制器 Validated 注解和 BindingResult 是成对出现的中间不能穿插其它的形参否则会报 400错误其他形参只能加在它们后面 Controller public class ValidateController {ResponseBodyRequestMapping(/validate)// 形参前面加上 Validated 注解表示这个实体类需要进行数据校验// BindingResult 封装数据绑定的校验结果public void validate(Validated User user, BindingResult bindingResult) {if (bindingResult.hasErrors()) {//校验未通过获取所有的异常信息并展示出来ListObjectError allErrors bindingResult.getAllErrors();for (ObjectError allError : allErrors) {System.out.println(allError.getObjectName() : allError.getDefaultMessage());}}} } index.jsp input nameuserName/ 与 private String userName; 对应 % page contentTypetext/html;charsetUTF-8 languagejava % htmlheadtitle添加用户/title/headbodyform action${pageContext.request.contextPath}/validate methodpostID号:input typetext nameid placeholder请输入ID号/ br姓名:input typetext nameuserName placeholder请输入姓名/ br密码:input typepassword nameuserPwd placeholder请输入密码/ br邮箱:input typetext nameuserEmail placeholder请输入邮箱/ brinput typesubmit value提交 //form/body /html 执行结果 3 分组校验 某个属性设置了多种数据校验可以将这些校验分组然后 Controller 方法选择校验分组对数据进行校验 首先定义校验组所谓的校验组它其实就是空接口 // 分组校验接口1 public interface ValidationGroup1 { }// 分组校验接口2 public interface ValidationGroup2 { }对校验进行分组 public class User {// groups属性表示校验属于哪个组可以定义多个NotNull(message {user.id.isEmpty}, groups {ValidationGroup2.class})private Integer id;NotEmpty(message {user.userName.isEmpty}, groups {ValidationGroup1.class, ValidationGroup2.class})Length(min 1, max 6, message {user.userName.length}, groups {ValidationGroup1.class, ValidationGroup2.class})private String userName;NotEmpty(message {user.userPwd.isEmpty}, groups {ValidationGroup1.class})Length(min 5, max 15, message {user.userPwd.length}, groups {ValidationGroup1.class})private String userPwd;NotEmpty(message {user.userEmail.isEmpty}, groups {ValidationGroup2.class})Email(message {user.userEmail.format}, groups {ValidationGroup2.class})private String userEmail;// getter setter 构造器 toString 省略... } 执行结果 4 参考文档 SpringMVC入门学习十五----数据校验 - 唐浩荣 - 博客园 (cnblogs.com) springMVC如何对输入数据校验实现代码_java_脚本之家 (jb51.net)
http://www.hkea.cn/news/14568533/

相关文章:

  • iis网站服务器 建立出现问题建设网站服务
  • 建设银行 网站 字体wordpress页面半透明
  • 用手机可以做网站嘛建设积分网站
  • 做英文网站费用大庆绿色出行app
  • 0基础怎么做网站模版美团网站开发形式
  • 怎么查询网站开通时间劳动合同模板免费
  • 呼伦贝尔网站建设呼伦贝尔怎样做彩票网站
  • 如可建设淘宝链接网站皂君庙网站建设
  • 网站开发合同 下载网站模板二次开发
  • 网站策划模板网站开发方式有哪些
  • 网站开发 案例个人网站价格
  • 企业的网站开发费用摊销几年商铺设计
  • 庄河建网站外贸做网站建设公司
  • 网站运行速度慢的原因wordpress怎么让文章页新窗口打开
  • 佛山网站设计电话上海高端室内设计公司
  • 晋中网站seo怎么做可以使网站跳转
  • 手机网站 跳转宁波网站建设企业
  • 网站建设公司工作室深圳网站建设的基
  • 慈溪市网站制作海外服务器ip免费
  • 福建省建设工程信息网站制作网站的步骤域名
  • 有教做衣服的网站吗制作网站的成本
  • 网站运营与管理的目的是网站机房建设流程
  • 网站推广应该怎么做?做网站seo优化
  • 网站上广告中卫网络工程招聘
  • 好的网站首页建设公司提升学历的十大好处是什么
  • 阿里巴巴的网站应该怎么做厦门网站建设技术支持
  • 网站举报平台12315平面设计培训机构价位
  • 住房和城乡建设部网站建造师wordpress调模板用钩子
  • 邵阳建设银行网站网站建设做什么科目
  • 织梦网站数据库备份文件夹wordpress 手机菜单栏