steven
steven

Reputation: 393

vee-validate regex does not work as expected

I am working with VUE and VEE-VALIDATE and want to check if an input is an valid decimal with comma as seperator.

My input with regex look like this:

<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>

This works quite good for "1", "1,2", "0,4", "12,28761". Perfect!

Errors are displayed correctly for ",0", "foo", "1e". Perfect!

But if I type in the following I get NO error, but I would expect one: "1,1,1" or "1,1foo".

Any ideas what i am doing wrong?? Thanks!

Upvotes: 1

Views: 5157

Answers (1)

steven
steven

Reputation: 393

Before (not working example):

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

After (working example):

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

Upvotes: 5

Related Questions