регулярное выражение 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».

Есть идеи, что я делаю неправильно? Спасибо!


person dotnetsharp    schedule 27.12.2017    source источник


Ответы (1)


Раньше (не рабочий пример):

<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}?)$/ }" />
person dotnetsharp    schedule 27.12.2017