Регулярное выражение 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 ответ
До (не рабочий пример):
<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}?)$/ }" />