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,如果输入不符合规则,就将这个类名添加到输入框上。

相关推荐
狮恒3 分钟前
OpenHarmony Flutter 分布式数据持久化:跨设备数据一致性与同步方案
分布式·flutter·wpf·openharmony
晚霞的不甘12 分钟前
Flutter + OpenHarmony 国际化与无障碍(i18n & a11y)深度实践:打造真正包容的鸿蒙应用
flutter·华为·harmonyos
滿13 分钟前
Vue3 ElementPlus el-select 焦点事件数据不回显问题
javascript·vue.js·elementui
晚霞的不甘13 分钟前
Flutter + OpenHarmony 架构演进:从单体到模块化、微前端与动态能力的现代化应用体系
前端·flutter·架构
代码or搬砖14 分钟前
Vue生命周期总结(四个阶段,八个钩子函数)
前端·javascript·vue.js
VX:Fegn089514 分钟前
计算机毕业设计|基于springboot + vue超市管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
梵尔纳多16 分钟前
第一个 Electron 程序
前端·javascript·electron
tangweiguo0305198716 分钟前
Flutter插件开发完全指南:从入门到精通
flutter
鹏北海-RemHusband16 分钟前
记录一次微前端改造:把 10+ 个独立 Vue 项目整合到一起
前端·javascript·vue.js
程序员小寒18 分钟前
前端高频面试题之Promise相关方法
前端·javascript·面试