예제 #1
0
  /**
   * 验证失败返回true
   *
   * @param m
   * @param result
   * @return
   */
  @Override
  protected boolean hasError(Sample m, BindingResult result) {
    Assert.notNull(m);

    // 字段错误 前台使用<es:showFieldError commandName="showcase/sample"/> 显示
    if (m.getBirthday() != null && m.getBirthday().after(new Date())) {
      // 前台字段名(前台使用[name=字段名]取得dom对象) 错误消息键。。
      result.rejectValue("birthday", "birthday.past");
    }

    // 全局错误 前台使用<es:showGlobalError commandName="showcase/sample"/> 显示
    if (m.getName().contains("admin")) {
      result.reject("name.must.not.admin");
    }

    return result.hasErrors();
  }
예제 #2
0
  /**
   * 验证返回格式 单个:[fieldId, 1|0, msg] 多个:[[fieldId, 1|0, msg],[fieldId, 1|0, msg]]
   *
   * @param fieldId
   * @param fieldValue
   * @return
   */
  @RequestMapping(value = "validate", method = RequestMethod.GET)
  @ResponseBody
  public Object validate(
      @RequestParam("fieldId") String fieldId,
      @RequestParam("fieldValue") String fieldValue,
      @RequestParam(value = "id", required = false) Long id) {
    ValidateResponse response = ValidateResponse.newInstance();

    if ("name".equals(fieldId)) {
      Sample sample = getSampleService().findByName(fieldValue);
      if (sample == null || (sample.getId().equals(id) && sample.getName().equals(fieldValue))) {
        // 如果msg 不为空 将弹出提示框
        response.validateSuccess(fieldId, "");
      } else {
        response.validateFail(fieldId, "该名称已被其他人使用");
      }
    }
    return response.result();
  }