0

我想知道如何使用 vuelidate 验证空对象。我试图在 jsfiddle 上进行演示,链接如下

Vue.use(window.vuelidate.default)
const { required, minLength } = window.validators

new Vue(
    {
        el: "#app",
        data: {
            companies: [
                {
                    id: 1,
                    name: 'facebook'
                }, 
                {
                    id: 2, 
                    name: 'apple'
                }
            ],
            text: {
                id: null,
                name: null
            }
        },
        validations: {
            text: {
                required
            }
        }
    }
)

jsfiddle

4

3 回答 3

4

$v.text是有效的,因为它是一个非空对象。这意味着它没有“虚假”价值,因此符合要求。使其工作的一种方法:

validations: {
    text: {
        id: {required},
        name: {required},
    },
},

JSFiddle

如果不想重复 items 对象结构,可以编写自定义验证器

于 2018-03-28T13:13:48.007 回答
1

withParamsvuelidate 页面的文档中缺少有关如何使用的信息。所以我在它的 github 页面上搜索并找到了这个链接。根据链接我想出了那个解决方案

import { withParams } from 'vuelidate'

export const checkIfNull = withParams(
  { type: 'required' },
  value => (value.id === null ? false : true)
)
于 2018-03-29T07:21:16.030 回答
0

验证对象没有什么特别之处,您只需要定义结构并添加所需的任何验证规则。

请查看我创建的示例并再次查看Collections文档。

于 2018-03-28T11:45:45.167 回答