1、触发验证及前后端现象
首先运行ruoyi管理系统,按下图步骤进行操作
对字典类型进行新增操作,当我们输入字典类型时,当字典类型输入“12”时,我们发现页面弹出一个警告框。
MethodArgumentNotValidException为异常类型
2、代码分析
2.1、前端代码分析
2.2、后端代码分析
3、自定义参数验证注解
自定义参数验证注解可以用于在方法参数上添加特定的验证规则,当参数不满足规则时,抛出异常报错。
下面是一个自定义参数验证注解的示例:
注解@Target(ElementType.PARAMETER)表示该注解可以在方法参数上使用。
注解@Constraint(validatedBy = MyValidator.class)表示该注解会使用MyValidator类进行验证。
接下来,我们需要实现MyValidator类:
MyValidator类实现了ConstraintValidator<MyValidation, Object>接口,并重写了其中的两个方法。
initialize方法用于初始化验证器。
isValid方法用于执行验证逻辑。在该方法中,我们可以根据需要对参数进行验证。如果验证通过,返回true;否则返回false。
最后,我们可以在方法参数上使用自定义的参数验证注解:
在上述示例中,myMethod方法的parameter参数上添加了@MyValidation注解。当调用该方法时,会自动触发参数验证,并在验证失败时抛出异常报错。
至此,我们实现了一个自定义参数验证注解,并通过在方法参数上添加该注解来触发参数验证并抛出异常报错。