php网站开发实例,神箭手wordpress免费吗,wordpress怎么安装?,wordpress 判断是否为首页作者 | 狂乱的贵公子来源 | cnblogs.com/cjsblog/p/8946768.html开发过程中#xff0c;后台的参数校验是必不可少的#xff0c;所以经常会看到类似下面这样的代码这样写并没有什么错#xff0c;还挺工整的#xff0c;只是看起来不是很优雅而已。接下来#xff0c;用Valida… 作者 | 狂乱的贵公子来源 | cnblogs.com/cjsblog/p/8946768.html开发过程中后台的参数校验是必不可少的所以经常会看到类似下面这样的代码这样写并没有什么错还挺工整的只是看起来不是很优雅而已。接下来用Validation来改写这段1、Spring Boot文档中的Validation在 Spring Boot 的官网中关于Validation只是简单的提了一句如下其实Spring Validator 和Hibernate Validator是两套Validator可以混着用这里我们用Hibernate Validator2、Hibernate Validatorhttps://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#preface3、Spring Validatorhttps://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/core.html#validation4、示例4.1、引入spring-boot-starter-validation4.2、定义一个对象4.3、适用Valid校验并将校验结果放到BindingResult对象中注意默认情况下如果校验失败会抛javax.validation.ConstraintViolationException异常可以用统一异常处理去对这些异常做处理An Errors/BindingResult argument is expected to be declared immediately after the model attribute4.4、看效果如果在校验的对象后面再加上Model对象的话如果返回的是ModelAndView就可以将这个Model设置到其中这样在页面就可以取到错误消息了仅仅只是单字段校验的话未免也太不灵活了吧如果字段之间有关联关系那该如何校验呢答案是自定义4.5、自定义校验规则https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#validator-customconstraints这里以优惠券创建为例来演示如何自定义校验规则首先优惠券表单如下仅仅只是演示用这里除了自定义了两条校验规则之外还用到了分组。为什么要有分组这一说呢因为举个例子添加的时候不需要校验id而修改的时候id不能为空有了分组以后就可以添加的时候校验用组A修改的时候校验用组B下面重点看一下CheckTimeInterval第一步 、定义一个注解叫CheckTimeInterval第二步 、定义Validator去校验它顺便提一句这里BeanWrapper去取对象的属性值我们稍微看一下BeanWrapper是做什么的言归正传第三步 、验证看自定义的校验生效了5、补充5.1、校验模式https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#p-fail-fast下面补充一点关于校验模式默认会校验完所有属性然后将错误信息一起返回但很多时候不需要这样一个校验失败了其它就不必校验了为此需要这样设置5.2、单个参数校验如果是调整页面的时候参数校验失败的话这时可以不做处理让其调到错误页面。如果是接口参数校验失败的话可以在这里进行统一处理并返回。例如5.3、错误页面以刚才优惠券详情为例http://localhost:8080/coupon/detail.html 400http://localhost:8080/coupon/detail.html?id 400http://localhost:8080/coupon/detail.html?idabc 400http://localhost:8080/coupon/detail222.html?id123 404无权限 403int a 1 / 0; 5005.4、Valid与Validatedhttps://blog.csdn.net/qq_27680317/article/details/79970590参考http://rensanning.iteye.com/blog/2357373https://blog.csdn.net/kenight/article/details/77774465https://www.cnblogs.com/mr-yang-localhost/p/7812038.htmlhttps://www.phpsong.com/3567.htmlhttps://www.cnblogs.com/mr-yang-localhost/p/7812038.html【END】近期热文 面试珍藏最常见的200多道Java面试题被一个熟悉的面试题问懵了String...面试官如何实现幂等性校验关注下方二维码订阅更多精彩内容朕已阅