开发者社区> 问答> 正文

spring3.1.1 mvc jsr303 验证 信息国际化 问题报错 

因为spring3.1支持了jsr303规范,写验证更加容易了,但是也发现有的实现的不彻底,有的也要自己写,在开发中,我遇到了这样一个问题: 修改密码或者注册,比较输入的两个字段是否一样,这时纯靠注解就无法实现了(也许有相应的我没有发现,希望大家指教),我自己在程序中实现也行,但是却无法将相应的提示信息(1,国际化无法实现;2,不能在相应的位置显示,就是无法在<form:error>这个标签显示出来,请大家指点拍砖),代码如下:

if(!command.getMerchantEmail().equals(command.getMerchantReEmail())){
            ObjectError error = new ObjectError("command",null,new Object[]{"merchantReEmail"},messageSource.getMessage("email.different", null, Locale.getDefault()));
            result.addError(error);
        }
        if(!command.getMerchantPassword().equals(command.getMerchantRePassword())){
            ObjectError error = new ObjectError("merchantRePassword",messageSource.getMessage("password.different", null, Locale.getDefault()));
            result.addError(error);
        }
		if (result.hasErrors()) {
            model.addAttribute("countryMap", countryService.queryAll());
            model.addAttribute("gender", Gender.values());
			return "register";
		}
希望大家:

1、springmvc的国际化除了在页面用标签实现,在程序中如何实现? 2、使用jsr303如何将自己的验证结果信息放入BindingResult之中,在页面相应的位置打印出来?  

展开
收起
kun坤 2020-06-03 11:33:05 802 0
1 条回答
写回答
取消 提交回答
  • jsr303主要实现的是格式验证。比如是否非空、电话邮件地址是否正确等等。业务验证还是需要手写的。######我是手写了判断逻辑,但是我现在想问的是:如何将我的信息:1、国际化;2、将信息放到result中通过 框架自动写到相应位置######其中是传入控制器的参数:ModelMap model model.addAttribute("errors", "账号密码不匹配");######model设置attribue是能解决问题,不过不是很清楚spring是不是自己的处理方式

    2020-06-03 11:33:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多