类 FormValidatorController

java.lang.Object
top.tangyh.basic.validator.component.FormValidatorController

@RequestMapping @RestController public class FormValidatorController extends Object
统一获取校验规则入口。

加入了一个前端验证接口控制器,专门处理所有的拉取表单验证规则的请求。
在拉取表单验证规则的时候,有两种拉取方式
第一种如下(通过路径变量来传输要拉取的uri路径) :
A表单的保存url为 http://ip:port/porjectName/role/save
那么A表单的验证url:http://ip:port/porjectName/from/validator/role/save

仅仅追加了/from/validator/而已。

第二种如下是(通过参数传递uri路径的方式来拉取):
表单保存url :
http://ip:port/porjectName/role/save
那么验证url:
http://ip:port/porjectName/from/validator?fromPath=/porjectName/role/save

固定了验证uri地址,而要验证的表单地址作为参数进行传输。当然,可以一次性拿多个表单验证地址。有些界面可能同时存在多个表单需要提交。

Bean Validation 中内置的 constraint

@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
@NotEmptyPattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式

注意: 不建议使用 Hibernate Validator 提供的注解!!! Hibernate Validator 附加的 constraint
@NotBlank(message =) 验证字符串非null,且长度必须大于0
@Email 被注释的元素必须是电子邮箱地址
@Size(min=,max=) 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range(min=,max=,message=) 被注释的元素必须在合适的范围内

作者:
zuihou
  • 构造器详细资料

    • FormValidatorController

      public FormValidatorController(IConstraintExtract constraintExtract, org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping requestMappingHandlerMapping)
  • 方法详细资料

    • standardByPathVar

      @RequestMapping("/form/validator/**") @ResponseBody public R<Collection<FieldValidatorDesc>> standardByPathVar(jakarta.servlet.http.HttpServletRequest request) throws Exception
      支持第一种拉取方式 注意: 具体的方法必须在参数上面标注 @Validated 才有效
      参数:
      request - 请求
      返回:
      验证规则
      抛出:
      Exception - 异常
    • standardByQueryParam

      @RequestMapping("/form/validator") @ResponseBody public R<Collection<FieldValidatorDesc>> standardByQueryParam(@RequestParam(value="formPath",required=false) String formPath, jakarta.servlet.http.HttpServletRequest request) throws Exception
      支持第二种拉取方式
      参数:
      formPath - 表单地址
      request - 请求
      返回:
      验证规则
      抛出:
      Exception - 异常