【vue】用maxmin对输入框的字符做大小限制

vue表单rules校验_vue rules 表单验证_一级新生的博客-CSDN博客

(表单内容形式讲得很详细,梳理清晰)

https://www.cnblogs.com/voxov/p/12121196.html

(表单参数讲得很详细)

一般是表单实现的,对于在表单上参数的设置,可以参照以上,最后长这样。

别忘了在表单里绑定rules

<el-form :model="backflowSetting" :rules="rules" label-width="160px" size="mini" style="width:600px">
<el-row>
                <el-form-item prop="rule里绑定的">
                  <el-col :span="17"><el-checkbox label="输入框的题目"  v-on:change="checked=!checked"/></el-col>
                  <el-col :span="7"><el-input type="number" v-model.number="表单名字.rule里绑定的" step="0.1" placeholder="0~100.0" :disabled=checked >
                    <template v-slot:append>
                      <span>%</span>
                    </template>
                  </el-input>
                    </el-col>
                </el-form-item>
              </el-row>

表单验证数字大小设置

Vue使用elementUI中的表单验证数字大小设置_elementui表单验证数字_日拱一卒无有尽的博客-CSDN博客

v-model后添加.number表示输入的数字为数字类型,如果不添加的话为string类型。

在elementUI的rule中添加type:number,表示要验证的数据为数字类型;而min,max则表示要验证的最大值和最小值。

如果不记得rule的形式,大概是这样。

data() {
  return {​​​​​​​ 
       rules: {
          name: [
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ]
         }
    }
}

如果想将输入的字符串,即便是小数也转成数字的话,其实.number可以实现的。

在Vue中,.number修饰符可以处理小数的输入。当你将该修饰符应用到v-model绑定的输入框上时,它会自动将输入的值转换为数字类型,并且支持接受小数作为输入。

以下是一个示例,演示如何在Vue中使用.number修饰符处理小数输入:

<template>
  <div>
    <input type="number" step="0.01" v-model.number="inputValue">
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputValue: null,
    };
  },
};
</script>

在上面的示例中,我们创建了一个<input type="number">的输入框,并在该输入框上使用.number修饰符。这意味着inputValue属性将始终保持为数字类型。

注意,在处理小数输入时,我们还设置了step属性为 "0.01",以指定输入框的步长为0.01,以便用户可以方便地输入小数部分。

使用.number修饰符的输入框将自动过滤非数字字符,并将输入值转换为合法的小数。例如,如果用户输入了 “1a2.5b”,Vue将自动将其转换为数字 12.5

总结来说,.number修饰符可以处理小数的输入,并且提供了方便的自动转换功能。你可以根据实际需求,根据需要设置输入框的属性,例如step来指定小数部分的精度。

不过这个可以输入很多位,比方2.3333,没有对小数点后位数做限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 中,可以使用表单校验库如 VeeValidate 或 ElementUI 中的表单校验功能来实现表单校验。这些库的使用方式类似,下面以 VeeValidate 为例: 1. 安装 VeeValidate ```bash npm install vee-validate --save ``` 2. 在 main.js 中引入 VeeValidate 并注册全局组件 ```javascript import Vue from 'vue' import VeeValidate from 'vee-validate' Vue.use(VeeValidate) ``` 3. 在需要校验的表单组件中,使用 `v-validate` 指令来标记需要校验的表单元素,并设置校验规则 ```html <template> <form> <div> <label for="name">姓名:</label> <input id="name" name="name" v-validate="'required|max:10'" :class="{'is-invalid': errors.has('name')}" /> <span v-show="errors.has('name')" class="error">{{ errors.first('name') }}</span> </div> <button type="submit" @click.prevent="submitForm">提交</button> </form> </template> <script> export default { methods: { submitForm() { this.$validator.validate().then(result => { if (result) { // 校验通过,提交表单逻辑 } else { // 校验不通过,提示用户 } }) } } } </script> <style> .is-invalid { border-color: red; } .error { color: red; } </style> ``` 以上代码中,`v-validate="'required|max:10'"` 指定了校验规则,表示该输入框必填且最多输入 10 个字符。`errors.has('name')` 和 `errors.first('name')` 分别用来判断该输入框是否有校验错误和获取第一个校验错误信息。`this.$validator.validate()` 用来触发表单校验,返回一个 Promise,用来判断校验结果。 在遍历中使用表单校验时,可以将校验规则和错误信息定义在数据中,然后在遍历中动态生成表单元素和校验规则。例如: ```html <template> <form> <div v-for="(field, index) in fields" :key="index"> <label :for="field.name">{{ field.label }}:</label> <input :id="field.name" :name="field.name" v-model="form[field.name]" v-validate="field.rule" :class="{'is-invalid': errors.has(field.name)}" /> <span v-show="errors.has(field.name)" class="error">{{ errors.first(field.name) }}</span> </div> <button type="submit" @click.prevent="submitForm">提交</button> </form> </template> <script> export default { data() { return { form: { name: '', age: '', email: '' }, fields: [ { name: 'name', label: '姓名', rule: 'required|max:10' }, { name: 'age', label: '年龄', rule: 'required|integer|min:0|max:150' }, { name: 'email', label: '邮箱', rule: 'required|email' } ] } }, methods: { submitForm() { this.$validator.validateAll().then(result => { if (result) { // 校验通过,提交表单逻辑 } else { // 校验不通过,提示用户 } }) } } } </script> <style> .is-invalid { border-color: red; } .error { color: red; } </style> ``` 以上代码中,`fields` 数组用来定义表单元素的名称、标签和校验规则。在遍历中,根据 `fields` 数组动态生成表单元素和校验规则,使用 `v-validate="field.rule"` 来绑定校验规则。`this.$validator.validateAll()` 用来触发表单校验,返回一个 Promise,用来判断校验结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值