新建和保存校验名称是否重复

针对这个,大部分项目都可以适用下面这个套路:

  • 废话不多说,直接上代码
/**
	 * 校验参数名称是否重复
	 *
	 * @param dtoParameter 前端传来的实体类
	 */
	public void checkSaveParameters(DtoParameter dtoParameter) {

		// 校验参数名称
		EntityWrapper<tb_business_parameterinfo> wrapper = new EntityWrapper<>();
		wrapper.eq("deleted", false);
		wrapper.eq("name", dtoParameter.getName()); // 组装的条件
		if (!ObjectUtils.isEmpty(dtoParameter.getId())) {
			wrapper.ne("id",dtoParameter.getId());
		}
		tb_business_parameterinfo parameterinfo = super.selectOne(wrapper);
		if (!ObjectUtils.isEmpty(parameterinfo)) {
			throw new RuntimeException("该名称已存在,请重新填写!!");
		}
	}
这段代码的意思就是:
  • 如果是编辑,就判断name等于前端传过来的name,并且id不等于本条的id的数据在数据库中有没有,如果有则证明已存在,若是没有,则可以编辑。
  • 如果是新建,就不判断id 只组装其他的条件,如果有则证明已存在,若是没有,则可以编辑。

注:为什么新建不需要组装id,因为新建没有id所以要给他排除 就是你不给她写上if (!ObjectUtils.isEmpty(dtoParameter.getId())) {}这个判断,他会将id赋值成null,这样查出来就不准了,所以切记,一定要将这个id给分开,来判断新建还是编辑。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
element 远程校验名称重复是指在使用 element 组件库进行表单校验时,需要通过远程请求来检查输入名称是否已经存在重复。在表单中输入名称,当焦点离开输入框时,触发远程校验函数。远程校验函数会向后端发送请求,查询数据库中是否存在相同的名称。 对于这个需求,可以通过 element 的校验规则和远程校验函数来实现。首先,要在 el-form-item 中设置 rules 属性,通过 rules 属性设置校验规则。在校验规则中,可以设置自定义的校验函数,使用 validator 选项来指定远程校验函数。远程校验函数会返回一个 Promise 对象,用来处理后端返回的结果。 远程校验的实现步骤如下: 1. 在使用 element 组件库的项目中引入它提供的远程校验方法。 2. 在需要校验的 el-form-item 中,设置 rules 属性,其中包含校验规则。 3. 在校验规则中,通过 validator 选项指定远程校验函数,该函数会在输入框失去焦点时触发,并向后端发送远程请求。 4. 远程校验函数会返回一个 Promise 对象,处理后端返回的校验结果,根据结果进行提示或其他操作。 需要注意的是,在远程校验函数中,需要通过异步请求向后端发送查询请求,并且合理处理异常情况,例如网络错误或后端返回的错误信息。另外,还需要根据后端接口的具体实现,适当设置后端接口的请求参数和返回格式。 通过以上步骤,就能实现 element 远程校验名称重复的功能,提高表单输入的准确性和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值