当前位置: 首页 > news >正文

vue3表单验证的时候访问接口如果有值就通过否则不通过.主动去触发校验

页面有个身份证号码的校验。校验完身份证格式是否符合之后还要去访问接口查询这个用户是否存在。如果存在才通过验证。否则就校验不通过

<el-form ref="ruleFormRef" :model="form" label-width="140px" label-position="right" label-suffix=" :" :rules="rules">
  <el-form-item label="身份证号" prop="idCard1">
    <el-input v-model="form.idCard" />
  </el-form-item>
</el-form>
// 身份证校验。格式校验+接口查询是否已登记信息
const checkIdCardMore = async (rule, value, callback) => {
  const regexp=/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i;
  if(value===""||value===undefined) callback("请输入身份证号");
  if (!regexp.test(value)) {
    callback(new Error("请输入正确的身份证号"));
  } else {
 // 模拟接口请求,这里你需要替换为实际的接口地址和参数
    let {data} = await 接口名({idCard: form!.idCard});
    if (data != null) {//查到这个人
      form!.name = data.residentName;
      form.id = data.id;
      return callback()
    } else {//没有查到
      form.name = '';
      callback(new Error("未查到当前用户的入住登记信息"));
    }
  }
};

const rules = reactive({
  idCard: [{required: true, trigger: 'blur',validator: checkIdCardMore}],
});

相关文章:

  • MySQL分库分表之带来查询相关问题
  • 【洛谷贪心算法题】P2240部分背包问题
  • JavaScript遍历方式总结
  • 【AI+智造】用DeepSeek支持设备温度、振动、速度、加速度量化数据的应用方案——以常州新能源动力电池制造企业为例
  • 实践教程:使用DeepSeek实现PDF转Word的高效方案
  • DeepSeek 开源狂欢周(二)DeepEP深度技术解析 | 解锁 MoE 模型并行加速
  • IXI MEGA M1和M2 Plus DAW和跳线盘设置
  • 验证环境中为什么要用virtual interface
  • 【Go】十八、http 调用服务的编写
  • webstorm的Live Edit插件配合chrome扩展程序JetBrains IDE Support实现实时预览html效果
  • 深度剖析设备预测性维护系统有必要吗?
  • Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接
  • Idea 和 Pycharm 快捷键
  • Docker部署ZLMediaKit流媒体服务器并自定义配置指南
  • Java内存的堆(堆内、堆外)、栈含义理解笔记
  • 实时记录SQL注入靶场心得(labs1-10)
  • WPF-3天快速WPF入门并达到企业级水准
  • Readability.js 与 Newspaper提取网页内容和元数据
  • 四、表关系与复杂查询
  • 【Python修仙编程】(二) Python3灵源初探(3)
  • 玉林一河段出现十年最大洪水,一村民被冲走遇难
  • 戛纳打破“疑罪从无”惯例,一法国男演员被拒之门外
  • 韶关一企业将消防安装工程肢解发包,广东住建厅:罚款逾五万
  • 江西3人拟提名为县(市、区)长候选人
  • 专家:家长要以身作则,孩子是模仿者学习者有时也是评判者
  • 商务部:中方将适时发布中美经贸磋商相关消息