SpringBoot 校验回显信息--Ajax请求Controller后返回Map--校验提示赋值

直接上代码:

第一: Controller类的方法:

    @ResponseBody
    @RequestMapping("/USER/Check")
    public Map<String,String> userManagePost(Model model, @Valid User user, BindingResult bindingResult) {
      //存放错误信息-对应相关的组件名称:
        Map<String,String> errorMap = new HashMap<String,String>(); 
        List<FieldError> fieldErrors = bindingResult.getFieldErrors();
        for (FieldError errorComponen : fieldErrors) {
            String field = errorComponen.getField();
            String defaultMessage = errorComponen.getDefaultMessage();
            errorMap.put(field, defaultMessage);
        }
        //页面回显:
        model.addAttribute("errorMap", errorMap);

        return errorMap;
    }

重点来了: 怎么在Ajax里面 获取Controller中 返回的Json格式的  Map 里面的错误信息?

先加个小插件:  <script type="text/javascript" src="/js/jsonHandler.js"></script>     

                          //需要jsonHandler.js文件-百度就可下载 转化表单Dom对象为Json对象

//按钮点击提交
            $("#submitButton").click(function(){
                 var json = $('#formTag').serializeObject();
                 $.ajax({
                        type: 'POST',
                        url: '/USER/Check',
                        dataType: "json",
                        data:json,
                        timeout: 5000,
                        cache: false,
                        success: function (data) {
                            var errorMmap = data;
                            for(var key in errorMmap){
                                if(key=="email") 
                                    $("#errorEmail").html(errorMmap[key]); 
                                if(key=="realName")
                                    $("#errorRealName").html(errorMmap[key]);
                                if(key=="password")
                                    $("#errorPassword").html(errorMmap[key]);
                                if(key=="userName")
                                    $("#errorUserName").html(errorMmap[key]);
                                // alert("键:"+key+"值:"+errorMmap[key]);
                            }
                        },
                        error: function(err){
                            alert("出错了哦!");
                        }
                    });
            });

第三:还差提示框

<input id="email" name="email" type="text" />                 <span><font id="errorEmail" color="red"></font></span>

<input id="realName" name="realName" type="text" />   <span><font id="errorRealName" color="red"></font></span>

<input id="password" name="password" type="text"/>     <span><font id="errorPassword" color="red"></font></span>

<input id="userName" name="userName" type="text" />  <span><font id="errorUserName" color="red"></font></span>

第四:还有个错误校验 注解POJO --下面的是 User的属性

大功告成! 不成功的找我。。。。我回复你!

猜你喜欢

转载自blog.csdn.net/word_joke/article/details/83753145