目录
前端中触发参数验证异常
第一例
以ruoyi中部门管理的新增为例
浏览器开发者工具显示:
寻找前端代码发现:
"blur"是一个常用的JavaScript事件,它在元素失去焦点时触发。当用户在输入框中输入完成后,如果点击其他区域或按下Tab键,输入框将失去焦点,从而触发"blur"事件。
通过监听"blur"事件,我们可以实现一些与用户输入相关的操作,例如验证输入内容、保存数据等。这个事件对于表单验证和用户体验优化非常有用。在前端开发中,我们可以使用addEventListener方法来绑定"blur"事件处理函数,以便在元素失去焦点时执行相应的逻辑。
实现这个功能基本只需要前端代码即可,所以另找一例使用后端参数验证异常
第二例
前端报错
新建一相同部门名称的部门并点击确认新建,触发参数验证异常:
后端log报错
13:34:40.083 [schedule-pool-3] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==> Preparing: insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, oper_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, sysdate())
13:34:40.084 [schedule-pool-3] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==> Parameters: 部门管理(String), 1(Integer), com.ruoyi.web.controller.system.SysDeptController.add()(String), POST(String), 1(Integer), admin(String), null, /system/dept(String), 127.0.0.1(String), 内网IP(String), {"children":[],"deptName":"研发部门","orderNum":1,"params":{},"parentId":101,"status":"0"}(String), {"msg":"新增部门'研发部门'失败,部门名称已存在","code":500}(String), 0(Integer), null
13:34:40.087 [schedule-pool-3] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - <== Updates: 1
后端代码分析
前端代码分析
通过浏览器开发者工具找到发出错误相应为此处代码:
找到此处代码:
自定义参数验证注解
在自动生成的代码中添加这些注释用于触发参数验证
检测是否成功