vee-validate regex无法按预期工作

时间:2017-12-27 08:11:48

标签: vue.js vuejs2 vee-validate

我正在使用VUE和VEE-VALIDATE并且想要检查输入是否是有效的小数,并使用逗号作为分隔符。

我对正则表达式的输入如下所示:

<input type="text" v-model="myDecimal" v-validate:myDecimal="{ regex: /^(\d+|\d+,\d+)$/ }" :class="{'error': errors.has('mydecimal') }" ref="mydecimal" name="mydecimal" />
<span v-show="errors.first('mydecimal')" :class="{'field-validation-error': errors.has('mydecimal') }">NOT CORRECT DECIMAL!</span>

这对“1”,“1,2”,“0,4”,“12,28761”非常有用。完美!

“0”,“foo”,“1e”的错误显示正确。完美!

但是,如果我输入以下内容,我会收到任何错误,但我会指望一个:“1,1,1”或“1,1foo”。

任何想法我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:4)

之前(不是工作示例):

<input v-model="myDecimal" v-validate:myDecimal="{ regex:/^([0-9]+|[0-9]+,[0-9]{0,2}?)$/ }" />

之后(工作示例):

<input v-model="myDecimal" v-validate="{ regex:/^([0-9]+|[0-9]+,[0-9]{0,2}?)$/ }" />