Vue rules校验规则详解

Vue.js 提供了一套轻量级的、可扩展的模板校验规则。这些规则可以通过在v-model绑定中添加.modifier来使用,例如v-model.trim

下面是一些常见的 Vue.js 校验规则:

  • required: 检查值是否非空
  • email: 检查值是否符合电子邮件格式
  • min: 检查值是否大于等于指定的最小值
  • max: 检查值是否小于等于指定的最大值
  • minLength: 检查值的长度是否大于等于指定的最小长度
  • maxLength: 检查值的长度是否小于等于指定的最大长度
  • numeric: 检查值是否为数字
  • regex: 检查值是否符合指定的正则表达式

这是使用 .modifier 将这些规则应用于 v-model 的一个例子:

html 复制代码
<template>
  <div>
    <input v-model.trim="username" required>
    <input v-model.trim="email" type="email" required>
    <input v-model.number="age" type="number" min="18" max="99" required>
  </div>
</template>

在这个例子中:

  • v-model.trim 将输入值去掉前后空格
  • required 校验输入是否非空
  • type="email" 校验输入是否符合电子邮件格式
  • v-model.number 将输入转换成数字
  • minmax 校验输入是否在指定范围内

除了这些内置的校验规则,你还可以使用自定义的校验函数。校验函数应该返回一个布尔值,代表输入是否合法,例如:

html 复制代码
<template>
  <div>
    <input v-model="password" :class="{ invalid: !validatePassword }">
  </div>
</template>

<script>
export default {
  data() {
    return {
      password: '',
    };
  },
  computed: {
    validatePassword() {
      return this.password.length >= 8;
    },
  },
};
</script>

在这个例子中,我们使用了一个计算属性 validatePassword,它根据密码的长度来返回一个布尔值。我们还在输入框上绑定了一个类名 invalid,如果输入不符合规则,就将这个类名添加到输入框上。

相关推荐
jiangzhihao05152 小时前
前端自动翻译插件webpack-auto-i18n-plugin的使用
前端·webpack·node.js
软件技术NINI5 小时前
html css网页制作成品——HTML+CSS盐津铺子网页设计(5页)附源码
前端·css·html
mapbar_front6 小时前
面试问题—我的问题问完了,你还有什么想问我的吗?
前端·面试
quweiie6 小时前
thinkphp8+layui多图上传,带删除\排序功能
前端·javascript·layui
李鸿耀6 小时前
React 项目 SVG 图标太难管?用这套自动化方案一键搞定!
前端
闲蛋小超人笑嘻嘻6 小时前
树形结构渲染 + 选择(Vue3 + ElementPlus)
前端·javascript·vue.js
叶梅树7 小时前
从零构建A股量化交易工具:基于Qlib的全栈系统指南
前端·后端·算法
巴博尔7 小时前
uniapp的IOS中首次进入,无网络问题
前端·javascript·ios·uni-app
焚 城7 小时前
UniApp 实现双语功能
javascript·vue.js·uni-app
程序员老刘7 小时前
Dart的宏取消了,期待3年的功能,说没就没了?
flutter·客户端·dart