【问题标题】:Extend vuelidate with custom validators使用自定义验证器扩展 vuelidate
【发布时间】:2022-01-08 08:41:17
【问题描述】:

我正在尝试在我的 Vue 应用程序中扩展 Vuelidate 对象。 目前我在我的 Vue 组件中有以下设置。

import {required} from "vuelidate/lib/validators";

export default {
   validations: {
    ...
  }
}

我创建了一个新文件 custom-validator.js

import { helpers } from "vuelidate/lib/validators";
export const OnlyDgitis = helpers.regex('onlyDigits', /^\d+$/);

我想从 custom-validator.js 导入 OnlyDgitis 以及预定义的 vuelidate 验证器

最终结果

import {required, OnlyDgitis} from 'custom-validators.js'

我尝试过的

import { helpers } from "vuelidate/lib/validators";
   import * as Validators from 'vuelidate/lib/validators'
   
   export const OnlyDgitis = helpers.regex('onlyDigits', /^\d+$/);
   export default Object.assign({}, Validators, {
     OnlyDgitis       
   });

【问题讨论】:

  • 尝试像这样导出 export const OnlyDigits;导出 const Validators = Validators;
  • 不清楚是什么问题。
  • @EstusFlask 请看一下问题的最终结果,我想用我的自定义规则扩展 vuelidate 预定义规则对象。
  • 我明白了。但我不明白它有什么问题。有错误吗?有些东西不按预期工作?这个问题缺乏明确的问题陈述——技术上没有问题。可能应该有export * from 'vuelidate/lib/validators'。这是你要找的吗?
  • @EstusFlask 你是救生员。谢谢

标签: javascript vue.js vuelidate


【解决方案1】:

遵循 cmets 的 @EstusFlask 建议 以下是最终获得预期结果的方法

// custom-validators.js

import { helpers } from "vuelidate/lib/validators";

export const OnlyDgitis = helpers.regex('onlyDigits', /^\d+$/);

export * from 'vuelidate/lib/validators'

现在我可以像这样轻松导入了,

// My component.js
import {required, OnlyDgitis} from 'custom-validators.js'

export default {
   validations: {
    ...
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    相关资源
    最近更新 更多