1、解决英语单词列表模块CRUD前后端输入校验BUG
pull/254/head
xjs 4 years ago
parent 83a006c47a
commit 32587fb68a

@ -6,6 +6,7 @@
v-model="queryParams.englishWord"
placeholder="英语单词"
clearable
maxlength="20"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -15,6 +16,7 @@
v-model="queryParams.chineseWord"
placeholder="请输入中文"
clearable
maxlength="10"
size="small"
@keyup.enter.native="handleQuery"
/>
@ -314,34 +316,33 @@ export default {
//
rulesEdit: {
englishWord: [
{required: true, message: "英语单词不能为空", trigger: "blur"}
{required: true, message: "英语单词不能为空", trigger: "blur"},
{ min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' }
],
chineseWord: [
{required: true, message: "中文不能为空", trigger: "blur"}
{required: true, message: "中文不能为空", trigger: "blur"},
{ min: 1, max: 10, message: '长度在 1 到 10 个字符', trigger: 'blur' }
],
isCollect: [
{required: true, message: "是否收藏 1收藏 2不收藏不能为空", trigger: "blur"}
{required: true, message: "收藏不能为空", trigger: "blur"}
],
top: [
{required: true, message: "置顶 1置顶 2不置顶不能为空", trigger: "blur"}
{required: true, message: "置顶不能为空", trigger: "blur"}
],
createTime: [
{required: true, message: "创建时间不能为空", trigger: "blur"}
]
},
rulesAdd: {
content: [
{required: true, message: "中英文不能为空", trigger: "blur"}
{required: true, message: "中英文不能为空", trigger: "blur"},
{ min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' }
],
isCollect: [
{required: true, message: "是否收藏 1收藏 2不收藏不能为空", trigger: "blur"}
{required: true, message: "收藏不能为空", trigger: "blur"}
],
top: [
{required: true, message: "置顶 1置顶 2不置顶不能为空", trigger: "blur"}
{required: true, message: "置顶不能为空", trigger: "blur"}
],
createTime: [
{required: true, message: "创建时间不能为空", trigger: "blur"}
]
}
};
},

@ -1,9 +1,9 @@
package com.xjs.validation;
/**
*
* @author xiejs
* @desc
* @create 2021-12-30
* @since 2021-12-30
*/
public interface AddGroup {
}

@ -0,0 +1,9 @@
package com.xjs.validation;
/**
*
* @author xiejs
* @since 2022-02-18
*/
public interface SelectGroup {
}

@ -1,9 +1,10 @@
package com.xjs.validation;
/**
*
*
* @author xiejs
* @desc
* @create 2021-12-30
* @since 2021-12-30
*/
public interface UpdateGroup {
}

@ -8,6 +8,7 @@ import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.xjs.validation.AddGroup;
import com.xjs.validation.SelectGroup;
import com.xjs.validation.UpdateGroup;
import com.xjs.web.MyBaseController;
import com.xjs.word.domain.EnglishWord;
@ -77,7 +78,7 @@ public class EnglishWordController extends MyBaseController {
@RequiresPermissions("english:word:list")
@GetMapping("/list")
@ApiOperation("查询英语单词列表")
public TableDataInfo list(EnglishWord englishWord) {
public TableDataInfo list(@Validated({SelectGroup.class}) EnglishWord englishWord) {
startPage();
List<EnglishWord> list = englishWordService.selectEnglishWordList(englishWord);
return getDataTable(list);

@ -3,6 +3,7 @@ package com.xjs.word.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.annotation.Excel;
import com.xjs.validation.AddGroup;
import com.xjs.validation.SelectGroup;
import com.xjs.validation.UpdateGroup;
import lombok.Data;
@ -15,7 +16,7 @@ import java.util.Date;
* english_word
*
* @author xjs
* @date 2021-12-29
* @since 2021-12-29
*/
@Data
@TableName("english_word")
@ -31,16 +32,16 @@ public class EnglishWord {
*
*/
@Excel(name = "英语单词")
@NotBlank(message = "英语单词不能为空",groups = {UpdateGroup.class})
@Size(max = 15,message = "请控制长度在5字符",groups = {UpdateGroup.class})
@NotBlank(message = "英语单词不能为空", groups = {UpdateGroup.class})
@Size(max = 20, message = "请控制英语长度在20字符", groups = {UpdateGroup.class, SelectGroup.class})
private String englishWord;
/**
*
*/
@Excel(name = "中文")
@NotBlank(message = "中文不能为空",groups = {UpdateGroup.class})
@Size(max = 5,message = "请控制长度在5字符",groups = {UpdateGroup.class})
@NotBlank(message = "中文不能为空", groups = {UpdateGroup.class})
@Size(max = 10, message = "请控制中文长度在10字符", groups = {UpdateGroup.class,SelectGroup.class})
private String chineseWord;
@ -48,8 +49,8 @@ public class EnglishWord {
*
*/
@TableField(exist = false)
@NotBlank(message = "内容不能为空",groups = {AddGroup.class})
@Size(max = 15,message = "请控制长度在5字符",groups = {AddGroup.class})
@NotBlank(message = "内容不能为空", groups = {AddGroup.class})
@Size(max = 20, message = "请控制长度在20字符", groups = {AddGroup.class})
private String content;
/**
@ -61,24 +62,24 @@ public class EnglishWord {
/**
* 1 2
*/
@Excel(name = "是否收藏",readConverterExp = "1=收藏,2=不收藏")
@NotNull(message = "收藏字段不能为空",groups = {AddGroup.class, UpdateGroup.class})
@Excel(name = "是否收藏", readConverterExp = "1=收藏,2=不收藏")
@NotNull(message = "收藏字段不能为空", groups = {AddGroup.class, UpdateGroup.class})
private Integer isCollect;
/**
* 1 2
*/
@Excel(name = "置顶",readConverterExp = "1=置顶,2=不置顶")
@NotNull(message = "置顶字段不能为空",groups = {AddGroup.class, UpdateGroup.class})
@Excel(name = "置顶", readConverterExp = "1=置顶,2=不置顶")
@NotNull(message = "置顶字段不能为空", groups = {AddGroup.class, UpdateGroup.class})
private Integer top;
/**
*
*/
@Excel(name = "查看次数")
private Long lookCount ;
private Long lookCount;
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT)
private Date createTime;

@ -31,7 +31,7 @@ import static com.xjs.consts.RedisConst.TRAN_DICT_EXPIRE;
* Service
*
* @author xjs
* @date 2021-12-29
* @since 2021-12-29
*/
@Service
@Log4j2
@ -106,9 +106,12 @@ public class EnglishWordServiceImpl implements IEnglishWordService {
//校验数据库是否存在该单词
List<EnglishWord> englishWordList = englishWordMapper.selectList(new QueryWrapper<EnglishWord>()
.eq("english_word", englishWord.getContent()));
if (CollUtil.isNotEmpty(englishWordList)) {
throw new BusinessException("该单词已存在!!!!");
List<EnglishWord> chineseWordList = englishWordMapper.selectList(new QueryWrapper<EnglishWord>()
.eq("chinese_word", englishWord.getContent()));
if (CollUtil.isNotEmpty(englishWordList)|| CollUtil.isNotEmpty(chineseWordList)) {
throw new BusinessException("该词汇已存在!!!!");
}
//校验前端传入的是否英文或中文
boolean alpha = ChineseUtils.isAlpha(englishWord.getContent());
boolean chinese = ChineseUtils.checkNameChese(englishWord.getContent());

Loading…
Cancel
Save