自定义验证器函数

javascript 复制代码
const forbiddenCharValidator = (rule, value, callback) => {
  const forbiddenCharacters = ['as', 'for', 'default', 'in', 'join', 'left', 'inner', 'right', 'where', 'when', 'case', 'select'];
  for (let forbiddenCharacter of forbiddenCharacters) {
    if (value && value.includes(forbiddenCharacter)) {
      callback(new Error(`不能使用关键字 '${forbiddenCharacter}'`));
      return;
    }
  }
  callback();
};

使用场景:

这个验证规则对象通常用在表单组件中,例如 Element Plus 的 <el-form><el-input> 组件,来确保用户输入的数据符合特定的要求。例如,你可能不希望用户在某些输入字段中使用特定的关键字,因为这些关键字可能是保留字或有特殊意义。

示例:

在 Vue 组件中,你可能会这样使用这个验证规则:

javascript 复制代码
<template>
  <el-form :model="form" :rules="rules">
    <el-form-item label="用户名" prop="username" :rules="{ validator: forbiddenCharValidator, trigger: 'blur' }">
      <el-input v-model="form.username"></el-input>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        username: ''
      },
      rules: {
        username: [
          { validator: forbiddenCharValidator, trigger: 'blur' }
        ]
      }
    };
  },
  methods: {
    forbiddenCharValidator(rule, value, callback) {
      // 自定义验证逻辑
    }
  }
};
</script>
相关推荐
武哥聊编程3 分钟前
【AI实战项目】基于SpringAI+Springboot+Vue的AI智能简历优化助手
vue.js·人工智能·spring boot
梨想橙汁17 分钟前
Webpack 快速上手:前端工程化、打包原理、从零搭建基础项目
前端·webpack·前端工程化
zhanghaha131421 分钟前
HTML系列教程:12_HTML 表格 <table> 零基础详解
前端·html
小猪佩奇TONY21 分钟前
Linux 内核学习(18) --- linux dma_buf 机制
linux·运维·学习
Betterme25 分钟前
Vue3 竞态请求防护组合式hooks:useLatestRequest 设计思路
前端
_zhourui_h_28 分钟前
一个 [ECS] 到底生成了多少代码?EasyECS 最核心的秘密都在这里
前端
梨想橙汁30 分钟前
Git 分支详解:创建切换、合并分支、冲突解决实战
前端·git
雪芽蓝域zzs32 分钟前
Vue3 defineProps` / `defineEmits` 是编译器宏,不需要手动 import 导入
前端·javascript·vue.js
whyweplay36 分钟前
Elpis:从Json Schema 到 页面
前端·javascript
Dream Cosmos39 分钟前
自旋锁:从忙等待、原子操作到线程同步
linux