标签: vee-validate

vee-validate regex 没有按预期工作

我正在使用 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>
Run Code Online (Sandbox Code Playgroud)

这对“1”、“1,2”、“0,4”、“12,28761”非常有效。完美的!

“,0”、“foo”、“1e”的错误显示正确。完美的!

但是,如果我输入以下内容,则不会出现任何错误,但我希望有一个:“1,1,1”或“1,1foo”。

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

vue.js vuejs2 vee-validate

1
推荐指数
1
解决办法
4666
查看次数

自定义组件中的VueJS Vee验证

版本

VueJs:2.3.3
Vee验证:2.0.0-rc.25

说明

我有一个自定义组件。这是带有字符计数器的输入,我尝试在此输入中放入vee-validate。我想在提交表单时显示错误。我遵循vee-validate文档中的每个步骤,但是没有用。我的表单提交时忽略了任何输入错误。

重现步骤:

使用vee-validate

代码创建一个自定义组件

Parent.vue

   <vue-input maxlength="20" minlength="3" placeholder="works"
    validate="required|numeric" v-model="dataItem.teste" name="teste"></vue-input>
Run Code Online (Sandbox Code Playgroud)

Component.js

Vue.component('vue-input', {
    props: ['maxlength', 'minlength', 'placeholder', 'validate', 'value', 'name'],
    template: `<div>
              <div class="input-group">
                <input type="text" :name="name" :value="value" 
                @input="$emit('input', $event.target.value); 
                counter = $event.target.value.length" 
                :maxlength="maxlength" :placeholder="placeholder" 
                v-validate="validate" 
                :class="{'is-danger': errors.has(name), 'form-control' : true}">

                Erros: {{errors}}
                <span class="input-group-addon">
                    {{ maxlength - counter }}
                </span>

                <span v-show="errors.has(name)" class="text-danger m-t-xs">
                    {{ errors.first(name) }}
                </span>
             </div>
             </div>`,
             data: () => ({
                 counter: 0
             })
});
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuejs2 vee-validate

0
推荐指数
1
解决办法
3392
查看次数

Vue 插件 vee-validate 安装不正确

我正在尝试使用vee-validate插件进行表单验证而不使用npm install --save,所以我将 dist 文件夹中的文件复制到我的项目中,但由于某种原因我无法正确使用该插件。

这就是我在 pug 文件中将插件称为脚本的方式register.pug

block main-content
  .article#register
  form
    input(
      v-model="email"
      v-validate.initial="'required|email'"
      :class="{'input': true, 'is-danger': errors.has('email') }")
block page-specific-scripts
  script(data-minjs-group="register" src="/libs/vue/vee-validate.js")
  script(data-minjs-group="register" src="/scripts/onboarding/register.js")
Run Code Online (Sandbox Code Playgroud)

这是register.js

(function(doc, win) {
  'use strict';

  var register = new Vue({ 
    el: '#register',
    data: {
      email: ''
    }
  });
})(document, window);
Run Code Online (Sandbox Code Playgroud)

当我重新加载页面时,我收到以下消息:“属性或方法“错误”未在实例上定义,但在渲染过程中被引用。” 这不应该是这种情况,因为我认为这errors是 vee-validate 插件的内置属性。

vue.js pug vee-validate

0
推荐指数
1
解决办法
3771
查看次数

vuejs v-validate 自定义验证规则:最大值必须大于用户输入的最小值

下面是我在 vuejs 中的 2 个输入字段的代码。当前的验证规则是它们都需要是数字。我在这里阅读了官方文档

我需要添加另一个规则,它max-amount必须大于min-amount. 诀窍是最小数量是用户输入,而不是预先确定的。我应该如何实现这个自定义验证器?

        <div class="min-section">
          <label>Min</label>
          <input type="text" 
          class="uk-input"
          name="min-amount"
          v-validate="'numeric'"
          v-model="minAmount" />
        </div>
        <div class="max-section">
          <label>Max</label>
          <input type="text" 
          class="uk-input"
          name="max-amount" 
          v-validate="'numeric'"
          v-model="maxAmount"/>
        </div>
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2 vee-validate

0
推荐指数
1
解决办法
3286
查看次数

Vee validate 在没有 v-model 的情况下验证行

当未提供 v-model 但我们有 @input & value 时,我在 v-for & 内进行 vee-validate 和验证时遇到问题

这是我的 CodeSandbox 链接:

https://codesandbox.io/s/pective-williamson-8nkou

我想要生成的是验证添加到列表中的每个新行,当用户在 TextArea 中键入内容时,我想进行验证吗?

vue.js vee-validate

0
推荐指数
1
解决办法
2955
查看次数

未捕获的语法错误:请求的模块“/@modules/vue.js”未提供名为“default”的导出

我在 Vue.js 中使用名为 Vee Validate 的表单验证时遇到问题。我是初学者,不完全理解导入语法。我使用安装了 vee-validatenpm i vee-validate --save并将其放置在我的 node_modules 中。现在我将其导入到我的 main.js 模块中并使用官方页面上给出的代码:

import { extend } from 'vee-validate';
import { required } from 'vee-validate/dist/rules'; 

extend('required', {
  ...required,
  message: 'This field is required'
});
Run Code Online (Sandbox Code Playgroud)

但是当我打开index.html时出现错误:

Uncaught SyntaxError: The requested module '/@modules/vue.js' does not provide an export named 'default'
Run Code Online (Sandbox Code Playgroud)

以下是 vee-validate 包的链接:https://www.npmjs.com/package/vee-validate ?activeTab=readme

感谢你们对我的帮助。如果我的问题不清楚,请原谅我。

javascript import npm vue.js vee-validate

0
推荐指数
1
解决办法
1万
查看次数

Vue 和 Vuetify 中未出现错误消息

我在我的 VueApp 中使用 Vuetify 和 Vee-Validate。

我尝试使用<span>{{ errors[0] }}</span>并且它出现,但是当我尝试使用时:error-messages="errors[0]"它没有出现。

                  <ValidationProvider rules="required|email" name="Username" v-slot="{ errors }">
                    <v-text-field
                      label="Username"
                      v-model="form.username"
                      type="email"
                      outlined
                      hide-details
                      :error-messages="errors[0]"
                    ></v-text-field>
                      <span>{{ errors[0] }}</span>
                  </ValidationProvider>
Run Code Online (Sandbox Code Playgroud)

vue.js vuetify.js vee-validate

0
推荐指数
1
解决办法
2330
查看次数

如何将 vee validate 与 textarea 结合使用

在我的表单中,我想添加一个带有 vee 验证的文本区域字段。

不幸的是,我无法获得 yup 模式提到的字段。

import { Form, Field, ErrorMessage, useFieldError } from "vee-validate"
import { string } from "yup"
import * as yup from "yup"

const schema = yup.object({
  name: string().required("Mandatory field"),
  description: string().required("Mandatory field"),
})
Run Code Online (Sandbox Code Playgroud)

这是我的表单字段(按最后评论编辑:我错过了“v-bind”但仍然不起作用

<Field name="description" v-slot="{ description }">
    <textarea v-bind="description" id="description" cols="30" rows="10" />
</Field>
Run Code Online (Sandbox Code Playgroud)

该字段已填充,但未提及验证。

在此输入图像描述

在这里遵循了一个例子,但它不起作用。

javascript vue.js vee-validate

0
推荐指数
1
解决办法
4017
查看次数