常用表单控件校验

  1. 数据类型:0-100之间的整数或两位小数(像:完成进度)
<el-form-item label="完成进度(%)">
    <el-input type="number" v-model="formData.progress" placeholder="请填写0-100的数字" oninput="if(value > 100) value = 100; if(value < 0 || value == '' || value == null) value = ''; if(value.indexOf('.') > 0) value = value.match(/\d+\.?\d{0,2}/)"/>
</el-form-item>
  1. 数据类型:整数
<el-input type="number" v-model="value" placeholder="请输入整数" oninput="if(value.includes('.')) value=value.replace(/\./g, ''); if(value < 0 || value == '' || value == null) value=''; if(!/^\d+$/.test(value)) value=value.replace(/\D/g,'');"/>
  1. 数据类型:小数
<el-input type="number" v-model="value" placeholder="请输入(支持小数)" oninput="if(value < 0 || value == '' || value == null) value='';"/>
  1. 开始年份与结束年份选择器
<el-form ref="yearsFormRef" :model="projectInfo" :rules="yearsRules" label-width="auto">
      <el-row :gutter="20">
        <el-col :span="8">
          <el-form-item label="开始年份" prop="startYear">
            <el-date-picker
              v-model="projectInfo.startYear"
              type="year"  
              value-format="YYYY" 
              clearable
              style="width: 100%"
              placeholder="请选择开始年份"
              :disabled-date="disabledStartDate"
            />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="结束年份" prop="endYear">
            <el-date-picker
              v-model="projectInfo.endYear"
              type="year"  
              value-format="YYYY" 
              clearable
              style="width: 100%"
              placeholder="请选择结束年份"
              :disabled-date="disabledEndDate"
            />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-button type="primary" @click="submit">保 存</el-button>
        </el-col>
      </el-row>
    </el-form>

// method
// 禁选开始年份
const disabledStartDate = (time) => {  
  const endYear = projectInfo.value.endYear;  
  if (endYear) {  
    return time.getFullYear() > parseInt(endYear, 10);  
  }  
  return false;  
};

// 禁选结束年份
const disabledEndDate = (time) => {  
  const startYear = projectInfo.value.startYear;  
  if (startYear) {  
    return time.getFullYear() < parseInt(startYear, 10);  
  }  
  return false;  
};

记录个遇到的小小问题:使用el-input去oninput校验数值类型的时候,切记加上type="number",否则为空时表单上会显示undefined。(若没有遇到此问题就算咯)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ant Design Vue 是一个非常受欢迎的 UI 组件库,它提供了丰富的表单组件,包括输入框、下拉选择框等等。要实现动态添加表单必填校验,可以按照以下步骤进行操作: 1. 首先,引入 Ant Design Vue 的 Form 组件和相应的验证规则模块,例如 `required` 必填规则。 2. 在 Vue 的 data 中定义一个表单对象,包含需要动态添加的表单控件的值。 3. 在模板中使用 Ant Design Vue 的 Form 组件,并使用 v-model 指令将表单对象和控件的值进行绑定。 4. 使用 v-for 指令遍历需要动态添加的表单控件,通过一个数组来提供控件的模板。 5. 在表单控件的模板中,使用 :rules 属性绑定验证规则,例如 `:rules="[{ required: true, message: '该字段为必填项' }]` 6. 在模板中提供一个按钮或其他交互方式,用来触发动态添加表单控件的操作。 7. 当点击按钮时,通过修改表单对象的属性或者添加新的属性,实现动态添加表单控件。 8. 提交表单时,通过调用 validate 方法对表单进行校验,这会触发相关的验证规则。 9. 根据校验结果,可以在模板中展示错误信息或者处理其他逻辑。 需要注意的是,动态添加表单必填校验时,需要在动态添加表单控件的同时,将相应的验证规则也添加到表单对象中。另外,为了方便校验和错误信息的展示,建议使用对应的验证规则模块和提示文本。 这样,通过上述步骤,就可以实现 Ant Design Vue 动态添加表单必填校验了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值