1

我正在使用 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”。

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

4

1 回答 1

5

之前(不工作的例子):

<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}?)$/ }" />
于 2017-12-27T11:56:19.983 回答