element plus自定义组件表单校验

方式一:

javascript 复制代码
import { formContextKey, formItemContextKey } from "element-plus";

// 获取 el-form 组件上下文
const formContext = inject(formContextKey, void 0);
// 获取 el-form-item 组件上下文
const formItemContext = inject(formItemContextKey, void 0);

formItemContext?.prop && formContext?.validateField([formItemContext.prop as string]);

方式二:

javascript 复制代码
// 子组件核心流程
import { useFormItem } from "element-plus";
const { formItem } = useFormItem();
const emit = defineEmits(["update:value"]);

const content = computed({
  get() {
    return props.value;
  },
  set(v: string) {
    // 同步父组件值
    emit("update:value", v);
    // 触发父组件定义的rules
    formItem?.validate?.("blur").catch(err => {
      console.log(err);
    });
  }
});

// 父组件 rules
<el-form-item label="回复内容" prop="content" :rules="requiredRules">
   <!-- 父组件调用 -->
   <tinyMce v-model:value="form.content"></tinyMce>
</el-form-item>

const requiredRules = [{ required: true, message: "请填写", trigger: "blur" }];

element ui 自定义组件校验方式,详见以下链接地址
使用element Form 自带校验功能,实现上传控件的校验_element form 校验mixin-CSDN博客​​​​​

ant design vue 1.x 自定义组件校验方式,详见以下链接​​​​​​​ant design vue1.x 自定义校验_1.x ant-design-vue date-range-picker 校验-CSDN博客

相关推荐
剑神一笑9 分钟前
CSS Animation Timeline 可视化动画编辑器:从关键帧到流畅动画
前端·css·编辑器
Dylan的码园12 分钟前
springBoot与Web后端基础
前端·spring boot·后端
广州华水科技12 分钟前
单北斗变形监测应用于水库的精准GNSS技术解析
前端
啊哈一半醒27 分钟前
React 核心知识点系统总结:从基础语法到高级 API,一篇文章梳理完整学习路线
javascript·学习·react.js
2401_878454531 小时前
HTML和CSS的复习2
前端·css·html
We་ct1 小时前
吃透现代CSS全技术体系
前端·css·css3·sass·postcss·预处理器
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_11:(语义化容器全站重构+独立CSS拆分+字体合规引入)
前端·css·ui·重构·html·edge浏览器
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_10:(超链接核心语法+路径规则)
前端·css·笔记·ui·html·edge浏览器
GISer_Jing1 小时前
AI原生前端工程化进阶实践:从流式交互架构到端云协同全链路落地
前端·人工智能·后端·学习
被考核重击1 小时前
Vue响应式原理(下)
前端·javascript·vue.js