validation - Vuetify 默认规则实现
问题描述
我正在使用 Vuetify 并使用其向输入字段添加规则的默认方式。
我知道有这个规则:
v => !!v
这将检查表单输入是否为空。但是我怎样才能使它只接受字母、数字甚至应用正则表达式呢?我在文档中找不到任何内容。有任何经验的人可以帮助我吗?
解决方案
所以我假设你现在可能已经对这个进行了排序,但是对于从谷歌等找到这个的人来说。
要添加新规则,您需要将其添加到您的 vue 组件中,或者通过导入或直接将其添加到您的数据对象中。您可以像命名任何其他数据属性一样命名它,它是一个测试数组,就像v => !!v
您提到的那样。然后添加 OR 运算符,后跟要在验证失败时显示的文本。
因此,要添加一个只允许字母的正则表达式,您将拥有:
data () {
return {
alphaRule: [
v => /[a-zA-Z]+$/.test(v) || 'Field must only contain letters'
]
}
}
然后在您的表单字段上,您将拥有<v-text-field :rules="alphaRule"></v-text-field>
也就是说,我强烈建议您将所有规则添加到 Rules.js 文件并全局绑定规则,以便您可以在任何地方访问它们,为它们提供一个集中的存储库,并且它也有助于保持您的代码干燥。
我刚刚制作了一个受Laravel 验证规则启发的规则列表,一旦完成测试,我将编辑我的答案以包含它们。
编辑 这是我目前在生产中使用的所有规则。希望他们会帮助别人!您需要将它们导入到您的组件中才能使用它们,或者您可以通过 vue mixin 全局包含它们。
推荐阅读
- ios - 在 xcode 12 中创建通用框架时出现 Lipo 错误
- azure-devops - Sprint 177(2020 年 10 月 21 日)发布日期?
- scala - 迭代地图以创建另一个地图
- inno-setup - 在多个 Inno Setup 脚本常量出现中重用相同(随机)值
- kubernetes - 使用 Shell 脚本在 ConfigMap 中创建 Secret
- html - 使用 jQuery 向 localStorage 添加暗模式样式表
- go - 在 go 中使用 struct 作为包装器
- flutter - 无法在初始化程序中访问小部件
- json - 如何在bash中使用带有嵌入引号的位置参数?
- python - 基于两个条件的子集数据集,将每个数据框保存到 .csv 文件中,遍历每个文件并绘制图形