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

做网站需要空间跟域名吗高端网站建设公司报价

做网站需要空间跟域名吗,高端网站建设公司报价,虚拟机wordpress插件,四川省建设科技协会网站首页为了使用Bean验证报告Spring MVC中的全局错误#xff0c;我们可以创建一个自定义的类级别约束注释。 全局错误与已验证Bean中的任何特定字段都不相关。 在本文中#xff0c;我将展示如何使用Spring Test编写测试#xff0c;以验证给定的model属性是否存在全局验证错误。 自… 为了使用Bean验证报告Spring MVC中的全局错误我们可以创建一个自定义的类级别约束注释。 全局错误与已验证Bean中的任何特定字段都不相关。 在本文中我将展示如何使用Spring Test编写测试以验证给定的model属性是否存在全局验证错误。 自定义类级别约束 为了本文的方便我创建了一个相对简单的类级别约束称为SamePassword 并由SamePasswordValidator进行了SamePasswordValidator Target({TYPE, ANNOTATION_TYPE}) Retention(RUNTIME) Constraint(validatedBy SamePasswordsValidator.class) Documented public interface SamePasswords {String message() default passwords do not match;Class?[] groups() default {}; Class? extends Payload[] payload() default {}; } 如下所示验证器非常简单 public class SamePasswordsValidator implements ConstraintValidatorSamePasswords, PasswordForm {Overridepublic void initialize(SamePasswords constraintAnnotation) {}Overridepublic boolean isValid(PasswordForm value, ConstraintValidatorContext context) {if(value.getConfirmedPassword() null) {return true;}return value.getConfirmedPassword().equals(value.getPassword());} } PasswordForm只是一个带有一些约束注释的POJO包括我刚创建的POJO SamePasswords public class PasswordForm {NotBlankprivate String password;NotBlankprivate String confirmedPassword;// getters and setters omitted for redability}Controller 控制器有两种方法显示表单和处理表单的提交 Controller RequestMapping(globalerrors) public class PasswordController {RequestMapping(value password)public String password(Model model) {model.addAttribute(new PasswordForm());return globalerrors/password;}RequestMapping(value password, method RequestMethod.POST)public String stepTwo(Valid PasswordForm passwordForm, Errors errors) {if (errors.hasErrors()) {return globalerrors/password;}return redirect:password;} } 当密码验证失败时将在BindingResult 在上面的示例中为Errors中注册一个全局错误。 例如我们可以在HTML页面的表单顶部显示此错误。 在Thymeleaf中这将是 div th:if${#fields.hasGlobalErrors()}p th:eacherr : ${#fields.globalErrors()} th:text${err}.../p /div集成测试与Spring Test 让我们设置一个集成测试 RunWith(SpringJUnit4ClassRunner.class) SpringApplicationConfiguration(classes Application.class) WebAppConfiguration public class AccountValidationIntegrationTest {Autowiredprivate WebApplicationContext wac;private MockMvc mockMvc;Beforepublic void setUp() throws Exception {mockMvc MockMvcBuilders.webAppContextSetup(wac).build();} } 第一个测试验证发送带有空的表单password和confirmedPassword失败 Testpublic void failsWhenEmptyPasswordsGiven() throws Exception {this.mockMvc.perform(post(/globalerrors/password).param(password, ).param(confirmedPassword, )).andExpect(model().attributeHasFieldErrors(passwordForm, password, confirmedPassword)).andExpect(status().isOk()).andExpect(view().name(globalerrors/password));} 在上面的示例中测试将验证password字段和confirmedPassword字段是否均存在字段错误。 同样我想验证当给定的密码不匹配时是否出现特定的全局错误。 因此我期望这样的事情 .andExpect(model().hasGlobalError(passwordForm, passwords do not match)) 。 不幸的是由MockMvcResultMatchers#model()返回的ModelResultMatchers没有提供断言给定模型属性具有全局错误的方法。 由于不存在该匹配器因此我创建了从ModelResultMatchers扩展的自己的匹配器。 Java 8版本的代码如下 public class GlobalErrorsMatchers extends ModelResultMatchers {private GlobalErrorsMatchers() {}public static GlobalErrorsMatchers globalErrors() {return new GlobalErrorsMatchers();}public ResultMatcher hasGlobalError(String attribute, String expectedMessage) {return result - {BindingResult bindingResult getBindingResult(result.getModelAndView(), attribute);bindingResult.getGlobalErrors().stream().filter(oe - attribute.equals(oe.getObjectName())).forEach(oe - assertEquals(Expected default message, expectedMessage, oe.getDefaultMessage()));};}private BindingResult getBindingResult(ModelAndView mav, String name) {BindingResult result (BindingResult) mav.getModel().get(BindingResult.MODEL_KEY_PREFIX name);assertTrue(No BindingResult for attribute: name, result ! null);assertTrue(No global errors for attribute: name, result.getGlobalErrorCount() 0);return result;} } 通过上述添加我现在可以验证全局验证错误如下所示 import static pl.codeleak.demo.globalerrors.GlobalErrorsMatchers.globalErrors;Test public void failsWithGlobalErrorWhenDifferentPasswordsGiven() throws Exception {this.mockMvc.perform(post(/globalerrors/password).param(password, test).param(confirmedPassword, other)).andExpect(globalErrors().hasGlobalError(passwordForm, passwords do not match)).andExpect(status().isOk()).andExpect(view().name(globalerrors/password)); } 如您所见扩展Spring Test的匹配器并提供给您自己的匹配器相对容易可用于改进集成测试中的验证验证。 资源资源 可以在这里找到本文的源代码 https : //github.com/kolorobot/spring-mvc-beanvalidation11-demo 。 翻译自: https://www.javacodegeeks.com/2014/08/spring-mvc-integration-testing-assert-the-given-model-attributes-have-global-errors.html
http://www.huolong8.cn/news/293424/

相关文章:

  • wordpress临时关站网站首页设计与制作
  • 重庆网站建设哪家好wordpress读取图片loading
  • 网站建设招标评分企业的网站特点
  • 网站开发实战教程佛山免费建站怎样
  • 温州哪里做网站设计怎样申请免费的网站空间
  • 做外贸的数据网站上海哪个网站专门做宝宝宴的
  • 多多返利网站建设程序网络推广网络营销公司
  • 做网站美工排版网站开发后 怎么换前端
  • 洛阳霞光高端定制网站建设东莞网站开发报价
  • 做网站如何避免侵权设计型网站自带优化
  • 统计二级域名的网站流量有什么用打开网站显示建设中
  • 做简历网站 39深圳网站建设软件定制公司
  • 网站源码使用制作什么网站好
  • sqlite做网站数据库合肥市门窗工程在哪个网站接活做
  • 福州网站建设思企三河网站建设公司
  • 建站之星怎么弄相册网站被主流搜索引擎收录的网页数量是多少
  • 专业微网站制作合肥市建设局
  • 网站怎样做支付接口郓城网站制作
  • 请人代做谷歌外贸网站网站建设费用推荐网络
  • 微网站 php速成网站-
  • 自适应网站的图做多大 怎么切企业门户网站优化
  • 网站建设与维护新的体会电影网站的设计与实现论文
  • 包站长ppt网站买域名的钱最后给了谁
  • 企业做的网站推广费用如何记账wordpress 影音插件
  • 常用来做网站首页的文件名开通小程序要钱吗
  • 美耐皿 技术支持 东莞网站建设站开发技术培训
  • 怎样自己做网站赚钱平台推广话术
  • 网站开发读什么专业在哪个网站做注册资本变更
  • 福建龙祥建设集团公司网站附近电商培训班
  • 牛网网站建设重庆点优建设网站公司吗