использование множественной проверки с регулярным выражением в VeeValidate и VueJs - PullRequest
0 голосов
/ 04 февраля 2020

Я применяю множественную проверку с использованием VeeValidate в последнем VueJs приложении, но это не работает. Это регулярное выражение должно содержать только алфавит, число, пробел и несколько специальных символов. Тем не менее, VeeValidate всегда возвращает false.

                                     <ValidationProvider name="Address"
                                            :rules="{
                                                     required: true,
                                                     max:25, 
                                                     regex:'/[a-zA-Z0-9\\s_@./#&:;+-]*$/'}"
                                            v-slot="validationContext">
                            <b-form-group id="lbl-city" label="*Address:">

                                <b-form-input id="txt-customer-address"
                                              v-model="formData.address"
                                              placeholder="Enter Address"
                                              :state="getValidationState(validationContext)"
                                              aria-describedby="input-3-feedback">
                                </b-form-input>
                                <b-form-invalid-feedback id="input-3-feedback">
                                    {{ validationContext.errors[0] }}
                                </b-form-invalid-feedback>
                            </b-form-group>
                        </ValidationProvider>

любое предложение?

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Я обнаружил проблему.

[1] Регулярное выражение неправильно и изначально пропустило ^ символ [2] \ s в регулярном выражении разрешало пробел, поэтому я наконец-то добавил пробел в свое регулярное выражение

Таким образом, последнее регулярное выражение - регулярное выражение: / ^ ([a-zA-Z0-9_ @ ;:]) * $ /,

Теперь, оно принимает только алфавит, число, пробел и следующие символы @ ;; _

1 голос
/ 04 февраля 2020

Вы должны применить разделители регулярных выражений вместо строки. Так что в вашем случае вы можете просто удалить "" "из вашего регулярного выражения, как это

<ValidationProvider name="Address"
   :rules="{
      required: true,
      max:25, 
      regex:/[a-zA-Z0-9\\s_@./#&:;+-]*$/
   }"
   v-slot="validationContext"
>
    ...
</ValidationProvider>
...