jeecg前端表单验证

原理

对于前端的表单,一般来说就是在data中写入对象,然后在方法中使用调用ajax请求,从而传递表单中的参数到后端
但是在jeecg中传递参数的方法已经写好了,这样基础的方法放到了api.vue中,前端是要调用这个方法就好了

代码

首先应用有着传递参数作用的api

 import {editUser} from '@/api/api'

再从data中返回一个关于 model的字符对象,用来带回来这些参数

data () {
      return {      
      model: {},
      }

方法中调用editUser方法

  handleSubmit() {
      const that = this
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          that.confirmLoading = true
          this.model.id = this.$store.getters.userInfo.id
          editUser(this.model).then(res => {
              if (res.success) {
                that.$message.success(res.message)
                that.$emit('ok')
              } else {
                that.$message.warning(res.message)
              }
            })
            .finally(() => {
              that.confirmLoading = false
              // that.close()
            })
        } else {
          return false
        }
      })
    },

这段代码是一个表单提交的处理函数。具体解释如下:

定义常量 that,用于保存当前上下文的引用。
通过 $refs 获取表单组件的引用,并调用 validate 函数触发表单验证。
在回调函数中,判断表单是否通过验证(valid 参数为 true),如果通过则执行以下操作:
将 confirmLoading 设置为 true,用于显示加载状态。
将 model 对象的 id 属性设置为当前用户信息的 ID。
调用 editUser 函数进行用户编辑,并通过 then 方法获取编辑结果。
根据返回结果的 success 字段判断编辑是否成功,如果成功则显示成功消息,并触发 ok 事件;否则显示警告消息。
无论成功还是失败,最后都将 confirmLoading 设置为 false,表示加载结束。
如果表单未通过验证,则直接返回 false。
需要注意的是,部分代码注释掉了 that.close(),可能是暂时不需要的代码,可以根据实际情况进行处理。

handleSubmit(){
		CONST  that = this
	    this.$refs.form。validate(
	    vaild =>that.confirmLoading = true
	    //通过将 this.$store.getters.userInfo.id 赋值给 this.model.id,可以将 				 Vuex 存储中的用户 ID 属性值同步到组件的 model 对象中。这样做的目的可能是为了在组件中方便地访问和操作该用户的 ID 数据,或者将其用于其他业务逻辑。
	    this.model.id = this.$store.getters.userInfo.id
	    editUser(this.model).then(res =>{
	    if(res.success){
	    that.$message.success(res.message)
        that.$emit('ok')
`		}else
		{
		that.$message.warning(res.message)
		}
	    })
	    .finally(() => {
	    that.confitmLoading = false})
	    }else{
	    return false
	    }
}

在主页面的头部写上

 <a-form-model ref="form" :model="model" :rules="validatorRules">

关于这个标签,解释为:
这是一个使用了 Ant Design Vue(antdv)中的 组件的示例。

是 Ant Design Vue 提供的一个表单组件,用于实现数据绑定和表单验证。它是一个基于 Vue 的表单封装组件,可以通过 ref 属性引用并进行操作。

在代码中,ref=“form” 表示将 组件实例赋值给组件实例的 r e f s 属性中的 f o r m 属性。通过 t h i s . refs 属性中的 form 属性。通过 this. refs属性中的form属性。通过this.refs.form,可以访问到表单组件的实例,并调用其提供的方法和属性。

:model=“model” 表示将 model 对象绑定到 的 model 属性上,实现数据的双向绑定。model 对象通常包含了表单中各个字段的值,当用户输入或选择时,model 对象会自动更新,反之亦然。

:rules=“validatorRules” 表示将 validatorRules 对象绑定到 的 rules 属性上,用于指定表单字段的验证规则。validatorRules 对象通常包含了每个字段的验证规则配置,例如必填、最大长度、格式等规则。这样,在用户提交表单或手动触发验证时,会根据这些规则对表单字段进行验证。

通过使用 组件,可以方便地创建带有数据绑定和表单验证功能的表单,提高开发效率并提供更好的用户体验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值