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博客

相关推荐
迷途小羔羊5 小时前
环境搭建
前端·javascript·后端
夕阳_醉了5 小时前
让 AI 回答“打字般”浮现:用 Vue 3 + DeepSeek 实现流式聊天
前端·vue.js·人工智能
SabrinaW7115 小时前
基于 C++17 与 RTTR 的注册式对象工厂:配置驱动的动态对象创建
java·前端·数据库
Amos_Web5 小时前
Rspack 源码解析(二十九):CopyRspackPlugin 如何用 glob 把静态文件复制进产物
前端
铁皮饭盒5 小时前
刷到 FDE 岗位那一刻,我还以为前端又活了
前端·后端
酷炫码神5 小时前
Day 9|Vue Router:把单页后台拆成能跳转的多页面
前端·javascript·vue.js
Sapphire~6 小时前
odoo-095 视图的重写规则(全部重写还是部分改写)
开发语言·javascript·ecmascript
肖永威6 小时前
python版微电网仿真工具的前端托管选型:从http.server到FastAPI StaticFiles
前端·python·http·fastapi
风骏时光牛马6 小时前
AI插件开发与效能提效工具箱
前端