问题标签 [vuelidate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
208 浏览

vue.js - v-checkboxes 在页面加载时为真

我正在 vuelidate 中进行表单验证。我有一组复选框。表格中还有其他字段。我只想在选中复选框时显示复选框的成功消息。但是即使未选中复选框,页面加载时也会显示成功消息。我的代码有什么问题。这是我的代码:

我试过了:

但这并没有帮助。

0 投票
2 回答
13025 浏览

vue.js - Vuelidate:使用子组件验证表单

如何使用父组件内的嵌套组件验证Vuelidate?我想更改parentForm.$invalid子组件中的输入是否有效。

家长:

孩子-1

孩子 2

0 投票
1 回答
3269 浏览

vue.js - vuelidate 验证对象作为道具传递

我有一个组件,我想通过作为道具传入来设置验证对象,例如这是我尝试过的,但它不起作用。控制台中的错误消息是“无法读取未定义的属性‘验证’”

我传入的验证对象如下所示:

但是我不知道这是否可能,或者我做错了什么。我正在寻找的预期结果是:

0 投票
2 回答
814 浏览

javascript - Vuelidate在页面加载时多次触发

我正在使用 Vue,并使用Vuelidate进行验证。

当使用执行 AJAX 调用的自定义验证器时,它会在页面加载时多次触发,甚至在用户交互之前(vuelidate's $touch)。

在首次加载这些多次调用后,验证工作正常。(我使用 vue 对输入更改使用此验证@change

我尝试设置一个标志isMounted以仅在加载整个实例后才在自定义验证器中执行验证,但没有成功。

代码

验证器(仅用于调试,用于测试):

然后,当我重新加载页面时,它会触发多次:

多次通话

我想让验证“触发”仅基于我的事件(输入更改),而不是在页面加载时多次。如何做到这一点?

0 投票
2 回答
935 浏览

javascript - vuelidate 所需功能 - Vye.js

我使用 vuelidate 插件:

我有方法

我有 vuelidate 插件。我想发送required我的功能,但我收到错误。

我如何发送所需的功能?

0 投票
1 回答
1281 浏览

validation - Vuelidate 日期输入

我在我的 vue 应用程序中使用 vuelidate。我想为从现在起一周的日期 minDate 和从现在起 3 个月的 maxDate 设置验证。

-

我在 vuelidate 文档中找不到有关日期的任何信息。

0 投票
2 回答
4384 浏览

vue.js - 为什么在 vuelidate 中使用 sameAs 时它不起作用?

找不到 fieldName 来验证 sameAs 方法。

相同(blabla)

blabla = 'internalFormData.password'、'internalFormData.password.value'、'this.internalFormData.password'、'this.internalFormData.password.value'、'password'、'this.password'、'password.value'

错误不会消失。

0 投票
0 回答
993 浏览

vue.js - 如何在 vuelidate 中使用 $each.$iter

我向 vuelidate https://github.com/vuelidate/vuelidate/issues/388提出了一个问题,并得到了回复。

避免循环 $each.$iter 属性并将其用于 v-model 数据。

但是,我不确定在这里使用什么最佳方法,因为我正在遵循 vuelidate 提供的文档。在 vuelidate 中使用 $each.$iter 时,任何人都能够指出最佳方法的正确方向吗?

示例代码可以在这里看到https://codesandbox.io/s/84vpkojoxl

0 投票
1 回答
1265 浏览

javascript - Vue bootstrap b-form-select 在加载时将 vuelidate 的 $anyDirty 设置为 true

我遇到的问题是由于input我第一次为 设置值时正在运行的事件v-model,这些数据是通过 API 加载的;我理解为什么表单被设置为脏(因为它正在被更改)但这会导致我拥有的另一个组件出现问题,该组件检查$v.$anyDirty标志是否设置为 true,如果是,则创建一个弹出窗口说“你是确定要离开”,但$v.reset()在加载数据后调用不起作用。

0 投票
1 回答
3033 浏览

forms - Vuelidate 未正确验证表单数据

我有一个 Vue 组件,其中包含一个Vuelidate安装了表单验证插件的表单,我想使用 Axios 进行 API 调用以检查数据库中是否已经使用了用户名。如果确实使用了用户名,则还没有实际显示任何内容的功能,但是 Vuelidate 对象$v仍然应该是响应式的,并username根据我的 Axios API 调用更新其属性。

加入.vue

Axios 调用从显示在 Chrome DevTools 中的 API 获得正确的 JSON 响应(状态 200 OK):

/validate?field=username&value=Test(用户名可用)

/validate?field=username&value=Admin(使用的用户名)

预期结果和问题:

isUnique()应该进行 API 调用,并在得到响应后,根据用户名是否已被使用(res.data.status)返回一个值true或一个值。false然后,$v 的属性应该相应地更改以使表单得到验证。

响应会正确记录在 Javascript 控制台中。但是,$v.username 总是无效的 ($v.username.$invalid: true),即使控制台记录了{ status: true }.

此外,似乎 Axios.then承诺没有正确解析,或者 Vuelidate 没有收到解析的值,因为$pending在验证输入字段并记录响应后仍然设置为 true。

在更改输入字段的值之前,将 $pending 设置为 false。

控制台或构建我的 Vue 应用程序时没有错误。如何让 Vuelidate 等待响应,然后实际isUnique()返回正确的布尔值?