mirror of
https://gitee.com/y_project/RuoYi-Cloud.git
synced 2026-02-01 22:41:56 +08:00
Compare commits
3 Commits
a26af9e87b
...
f51e4d79c2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f51e4d79c2 | ||
|
|
088cec8adf | ||
|
|
e142d5f4d8 |
@@ -1,9 +1,14 @@
|
|||||||
package com.ruoyi.common.security.handler;
|
package com.ruoyi.common.security.handler;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.validation.BindException;
|
import org.springframework.validation.BindException;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.validation.FieldError;
|
||||||
|
import org.springframework.validation.ObjectError;
|
||||||
import org.springframework.web.HttpRequestMethodNotSupportedException;
|
import org.springframework.web.HttpRequestMethodNotSupportedException;
|
||||||
import org.springframework.web.bind.MethodArgumentNotValidException;
|
import org.springframework.web.bind.MethodArgumentNotValidException;
|
||||||
import org.springframework.web.bind.MissingPathVariableException;
|
import org.springframework.web.bind.MissingPathVariableException;
|
||||||
@@ -21,6 +26,8 @@ import com.ruoyi.common.core.utils.StringUtils;
|
|||||||
import com.ruoyi.common.core.utils.html.EscapeUtil;
|
import com.ruoyi.common.core.utils.html.EscapeUtil;
|
||||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局异常处理器
|
* 全局异常处理器
|
||||||
*
|
*
|
||||||
@@ -141,9 +148,19 @@ public class GlobalExceptionHandler
|
|||||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||||
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
|
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
|
||||||
{
|
{
|
||||||
log.error(e.getMessage(), e);
|
BindingResult result = e.getBindingResult();
|
||||||
String message = e.getBindingResult().getFieldError().getDefaultMessage();
|
List<ObjectError> errors = result.getAllErrors();
|
||||||
return AjaxResult.error(message);
|
String message = "请填写正确信息";
|
||||||
|
if (!result.hasErrors() || CollectionUtils.isEmpty(errors)) {
|
||||||
|
return AjaxResult.error(message);
|
||||||
|
}
|
||||||
|
errors.forEach(p -> {
|
||||||
|
FieldError fieldError = (FieldError) p;
|
||||||
|
log.warn("Data check failure: object[{}],field[{}],errorMessage[{}]", fieldError.getObjectName(),
|
||||||
|
fieldError.getField(), fieldError.getDefaultMessage());
|
||||||
|
});
|
||||||
|
FieldError fieldError = (FieldError) errors.get(0);
|
||||||
|
return AjaxResult.error(StringUtils.isEmpty(fieldError.getDefaultMessage()) ? message : fieldError.getDefaultMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24" v-if="form.menuType != 'F'">
|
<el-col :span="12" v-if="form.menuType != 'F'">
|
||||||
<el-form-item label="菜单图标" prop="icon">
|
<el-form-item label="菜单图标" prop="icon">
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="bottom-start"
|
placement="bottom-start"
|
||||||
@@ -151,6 +151,11 @@
|
|||||||
</el-popover>
|
</el-popover>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="显示排序" prop="orderNum">
|
||||||
|
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@@ -158,9 +163,15 @@
|
|||||||
<el-input v-model="form.menuName" placeholder="请输入菜单名称" />
|
<el-input v-model="form.menuName" placeholder="请输入菜单名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12" v-if="form.menuType == 'C'">
|
||||||
<el-form-item label="显示排序" prop="orderNum">
|
<el-form-item prop="routeName">
|
||||||
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
|
<el-input v-model="form.routeName" placeholder="请输入路由名称" />
|
||||||
|
<span slot="label">
|
||||||
|
<el-tooltip content="默认不填则和路由地址相同:如地址为:`user`,则名称为`User`(注意:为避免名字的冲突,特殊情况下请自定义,保证唯一性)" placement="top">
|
||||||
|
<i class="el-icon-question"></i>
|
||||||
|
</el-tooltip>
|
||||||
|
路由名称
|
||||||
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
Reference in New Issue
Block a user