【问题标题】:vee-validate how to set digit limit between two number?vee-validate 如何设置两个数字之间的位数限制?
【发布时间】:2018-02-02 14:10:10
【问题描述】:

我正在尝试将用户可以输入的位数限制在 3-6 之间。

由于某种原因,我找不到如何做到这一点。

这是我必须强制用户仅添加三位数字的代码

<input type="text"  name='account-field-3' v-validate="'required|digits:3'" placeholder="6" class="form-control" > 

但我需要的是 3-6 之间。

【问题讨论】:

    标签: vue.js vuejs2 vee-validate


    【解决方案1】:

    你需要使用minmax

    最大:https://baianat.github.io/vee-validate/guide/rules.html#max

    最小:https://baianat.github.io/vee-validate/guide/rules.html#min

    <input type="text"  name='account-field-3' v-validate="'required|min:3|max:6'" placeholder="6" class="form-control" > 
    

    【讨论】:

    • 这是为了验证混合最大长度不是整数值
    【解决方案2】:

    已经很久了,但这里有一个对我有用的解决方案。

    //Javascript File
    import { min, max, numeric } from "vee-validate/dist/rules";
    import { extend, validate, localize } from "vee-validate";
    import en from "vee-validate/dist/locale/en.json";
    localize({
        en
    });
    
    extend("min", min);
    extend("max", max);
    extend("numeric", numeric);
    
    extend('digits_between', {
      async validate(value, { min, max }) {
            const res = await validate(value, `numeric|min:${min}|max:${max}`,)
                return res.valid;
      },
      params: ['min', 'max'],
      message: 'The {_field_} must be between {min} and {max} digits'
    });
    
    
    <!-- vue file -->
    <ValidationProvider
      rules="digits_between:3,8"
      v-slot="{ errors }"
      name="Country"
    >
      <input v-model="value" type="text">
      <span>{{ errors[0] }}</span>
    </ValidationProvider>
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2014-05-10
      • 2022-10-05
      • 2012-11-23
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多