element-ui的Form 表单有些项的参数校验

项目场景:

提示:项目相关背景:

项目场景:有时候自己的Form 表单中的某几项引入的一些项不好去校验

在这里插入图片描述这样的咋去校验呢?


解决方案:

提示:问题的具体解决方案:

例如:写一个 prop="xxx" 这个必不可少,再写一个 change事件,然后在 change事件写判断逻辑,用自定义的参数hasOrganId来接收结果,用其来判断。

在这里插入图片描述
methods里面写change事件判断逻辑

methods: {
	changeOrganId (val) {
      this.hasOrganId = val.length > 0 ? true : false;
    },
}

重要的地方:

在这里插入图片描述


以下是详细代码:

   <el-form
      ref="memberDialogForm"
      :model="memberDialogForm"
      :rules="memberRules" 
    >
      <el-form-item label="所属组织" prop="organ_id">
        <el-cascader
          ref="myCascader"
          :props="props"
          popper-class="cascaderParent"
          style="width: 100%"
          placeholder="请选择组织"
          @change="changeOrganId"
          clearable>
          <template slot-scope="{ node, data }">
            <operate-text-tip
              :class="{'no-children': node.children.length === 0}"
              style="max-width: 100%"
              :show-text="data.label"
              :item-width="'100%'"
              show-type="width"/>
            <span v-if="!node.isLeaf"></span>
          </template>
        </el-cascader>
      </el-form-item>
    </el-form>
export default {
  data() {
	const checkOrganId = (rule, value, callback) => {
      if (this.hasOrganId) {
        return callback();
      } else {
        return callback(new Error('请选择组织'));
      }
    };
    return {
    	memberRules: {
        	organ_id: [
          		// {
          		//   required: true,
          		//   message: '请选择组织',
          		//   trigger: ['change', 'blur'],
          		// },
          		{
            		required: true,
            		validator: checkOrganId,
            		trigger: ['change', 'blur'],
          		},
        	],
      }
	hasOrganId: false,
   }
 }
methods: {
	changeOrganId (val) {
      this.hasOrganId = val.length > 0 ? true : false;
    },
}
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值