Подтвердить пустой объект при выборе вопроса проверки

Я хотел бы знать, как проверить пустой объект с помощью 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

3 ответа

Решение

$v.text допустимо, потому что это не пустой объект. Это означает, что оно не имеет "ложного" значения, поэтому оно соответствует требованию. Один из способов заставить это работать:

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

JSFiddle

Если вы не хотите повторять структуру объектов элементов, вы можете написать собственный валидатор.

Отсутствует информация о том, как использовать withParams в документации страницы vuelidate. Так что я искал на его странице GitHub и нашел эту ссылку. По ссылке я придумал это решение

import { withParams } from 'vuelidate'

export const checkIfNull = withParams(
  { type: 'required' },
  value => (value.id === null ? false : true)
)

В проверке объекта нет ничего особенного, вам просто нужно определить структуру и добавить все необходимые правила проверки.

Пожалуйста, посмотрите на пример, который я создал, и еще раз посмотрите на документы по коллекциям.

Другие вопросы по тегам