ZBLOG

...

要在您的 Vue 组件中实现身份证号的校验并在输入框下方展示相应的校验信息,可以参考以下代码示例。我们将使用一个简单的正则表达式来验证身份证号,并根据验证结果动态显示校验信息。

以下是更新后的代码,包括了身份证号校验功能:

<template>
  <a-col :span="12">
    <a-form-item label="身份证号">
      <a-row>
        <a-col :span="isCustomerAssociated ? 24 : 16">
          <a-input
            v-model:value="formModal.ident"
            placeholder="请输入身份证号"
            :disabled="isEditing"
            @input="validateIdCard"
          />
          <div v-if="idCardMessage" class="validation-message">{{ idCardMessage }}</div>
        </a-col>
        <a-col :span="6" style="padding-left: 10px" v-if="!isCustomerAssociated && modalType === 'add'">
          <a-button
            class="margin-right-10 button-light-blue"
            type="primary"
            @click="handleAssociateCustomer"
          >
            关联客户
          </a-button>
        </a-col>
      </a-row>
    </a-form-item>
  </a-col>
</template>

<script setup>
import { ref, watch } from 'vue';

const formModal = ref({
  ident: ''
});

const isCustomerAssociated = ref(false);
const isEditing = ref(false);
const modalType = ref('add');

const idCardMessage = ref('');

function validateIdCard() {
  const idCard = formModal.value.ident;
  
  // 身份证号校验的正则表达式(适用于18位)
  const regExp = /^(?:\d{15}|\d{17}[\dX])$/;

  if (idCard === '') {
    idCardMessage.value = '';
    return;
  }

  if (!regExp.test(idCard)) {
    idCardMessage.value = '请输入有效的身份证号';
  } else {
    idCardMessage.value = '';
  }
}

// 可以在这里处理关联客户逻辑
function handleAssociateCustomer() {
  // 实现关联客户逻辑
}

</script>

<style scoped>
.validation-message {
  color: red; /* 校验信息为红色 */
}
</style>

功能说明:

  1. 输入框与双向绑定:使用 v-model 双向绑定 formModal.ident,用于接收和显示用户输入的身份证号。
  2. 校验函数:定义 validateIdCard 函数进行校验,每次用户输入时调用该函数。
  3. 正则表达式:使用简单的正则表达式检查身份证格式。
  4. 动态消息显示:通过 idCardMessage 显示相应的错误信息或提示。

样式:

  • 可自定义样式以便使错误消息更明显,比如设置颜色为红色。

通过这种方式,您可以确保用户输入合法性,并在界面上给予及时反馈。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22874

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?