springMvc后台进行表单效验

1.前端ajax请求

    $.ajax({
        url: urls['add_related_company'],
        type: 'post',
        data: data,
        async : false,
        contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
        processData: false,
        success: function (result) {
            if(result && result.success) {
               
            }
        }
    });

2.后台接收参数

@RequestMapping(value = "/add_related_company", method = RequestMethod.POST)
public WebResponseContext addRelatedCompany(
    @Validated RelatedCompanyForm form,
    BindingResult bindingResult,
    HttpServletRequest request,
    @RequestParam("sealFile") MultipartFile file
) {
    try {
        List<FieldError> fieldErrors = bindingResult.getFieldErrors();
        if (fieldErrors.size() > 0) {
            return ResponseUtil.error(ValidationUtility.buildingFieldErrors(fieldErrors));
        }
       
        Long userId = (Long) request.getSession().getAttribute(
            SecurityConstant.SESSION_AUTH_LOGIN_KEY
        );
        accountService.addRelatedCompany(form, userId);
        return ResponseUtil.success(true);
    } catch (Exception e) {
        logger.error(e.getLocalizedMessage(), e);
        return ResponseUtil.error(e.getLocalizedMessage());
    }

3.对应的实体设置

public class RelatedCompanyForm {

    /** 企业ID */
    private String enterpriseId;

    /** 企业名称 */
    @NotNull(message = "企业名称不能为空")
    private String companyName;

    /** 企业信用代码 */
    @Pattern(
        regexp = "^[A-Z0-9]{18}$",
        message = "企业信用代码填写不正确"
    )
    private String usCreditCode;

    /** 企业海关编码 */
    @Pattern(
        regexp = "^[A-Z0-9]{10}$",
        message = "企业海关编码填写不正确"
    )
    @NotNull(message = "企业海关编码不能为空")
    private String exportCode;

    /** 组织机构代码 */
    @Pattern(
        regexp = "^([0-9A-Z]){8}[0-9|X]$",
        message = "组织机构代码填写不正确"
    )
    private String orgCode;
    //get,set方法
}
发布了68 篇原创文章 · 获赞 19 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/tyjlearning/article/details/102683958