element的form表单校验(身份证号、手机号、整数、汉字、for循环列表)

<template>
  <div class="FormPage">
    <el-form ref="form" :model="form" :rules="rules" label-width="100px">
      <el-form-item label="姓名:" prop="name">
        <el-input v-model="form.name" placeholder="请输入" maxlength="10" />
      </el-form-item>
      <el-form-item label="手机号码:" prop="phone">
        <el-input v-model="form.phone" placeholder="请输入" maxlength="11" />
      </el-form-item>
      <el-form-item label="身份证号码:" prop="IdCard">
        <el-input v-model="form.IdCard" placeholder="请输入" maxlength="18" />
      </el-form-item>
      <el-form-item label="整数:" prop="num">
        <el-input v-model="form.num" placeho
在HTML5的`<form>`元素中,如果你需要对通过for循环生成的输入字段进行校验,你可以结合JavaScript的DOM操作和HTML5的表单验证API来实现。以下是一个基本步骤: 1. **创建动态表单元素**: 使用JavaScript,比如模板字符串或者createElement函数,为每次循环生成一个新的`<input>`或其他表单元素,并给它们分配唯一的ID或name属性以便于后续处理。 ```javascript let form = document.getElementById('myForm'); for (let i = 0; i < items.length; i++) { let input = document.createElement('input'); input.type = 'text'; // 根据需求设置输入类型 input.id = `field${i}`; // 假设items数组对应着输入字段名 form.appendChild(input); } ``` 2. **添加事件监听器**: 为每个动态生成的输入添加`oninput`或`blur`事件监听器,当用户输入发生变化时触发校验。 ```javascript for (let i = 0; i < form.querySelectorAll('input').length; i++) { const input = form.querySelectorAll('input')[i]; input.addEventListener('input', validateField(i)); } ``` 3. **编写校验函数**: 这里可以创建一个接受索引的函数,根据输入的值和对应的规则进行验证。如果验证失败,可以阻止提交表单或者显示错误提示。 ```javascript function validateField(index) { const input = document.querySelector(`#field${index}`); if (!input.value || input.value.length < 5) { // 示例规则:长度不少于5位 alert('请输入至少5个字符'); return false; } // 如果验证成功,返回true允许提交 return true; } ``` 4. **处理表单提交**: 在`<form>`标签上添加`onsubmit`事件处理器,检查所有输入是否都通过了验证,如果没有,则取消默认提交行为。 ```html <form id="myForm" onsubmit="return checkAllFieldsValid();"> <!-- 动态生成的表单内容 --> </form> ``` ```javascript function checkAllFieldsValid() { let allValid = true; for (let i = 0; i < form.querySelectorAll('input').length; i++) { const result = validateField(i); if (!result) { allValid = false; break; } } if (allValid) { return true; } else { event.preventDefault(); return false; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值