表单验证:输入的字符串以回车分隔并验证是否有

公司项目开发时,有一个需求,需要对输入的字符串按回车分隔并验证是否有重复项,效果如下:

表单代码:

html 复制代码
  <el-form-item label="IP地址条目:" prop="ipAddressEntry">
      <el-input
          type="textarea"
          v-model="formData.ipAddressEntry"
          :rows="5"
      ></el-input>
  </el-form-item>

表单验证代码:

javascript 复制代码
 data() {
    let isRepeat = (rule, value, callback) => {
      if (this.formData.ipAddressEntry != ''){
        const arr = this.formData.ipAddressEntry.split('\n');
        const set = new Set(arr);

        if (arr.length === set.size) {
          callback()
        } else {
          callback('输入IP地址重复')
        }
      }
    }
    return{
      rules: {
        ipAddressEntry: [
          {
            required: true,
            message: '请填写',
            trigger: 'blur',
          },
          { trigger: 'blur', validator: isRepeat },
        ],
      }
    }
}
相关推荐
cmd4 分钟前
别再用错!5种JS类型判断方法,从原理到实战一文吃透
前端·javascript
Irene199113 分钟前
JavaScript 事件循环(Event Loop) 的运作流程(附:queueMicrotask() 将一个回调函数立即排队到微任务队列中)
javascript·事件循环·宏任务·微任务·调用栈·queuemicrotask
倒计时的尽头是什么14 分钟前
避免渲染大量数据造成页面卡顿——虚拟滚动
vue.js
wobi_baoyan15 分钟前
【已解决】使用Maven打包发生或者启动Spring Boot项目发生 错误: 不支持发行版本 17
服务器·前端·javascript
学以智用17 分钟前
# TypeScript 高级特性(核心+实用)
前端·javascript·typescript
学以智用18 分钟前
TypeScript 核心基础:类型/变量 + 函数 + 接口
前端·javascript·typescript
SuperEugene21 分钟前
Vue3 组件解耦实战:Props/Emit/ 事件总线用法 + 避坑指南|Vue 组件与模板规范篇
前端·javascript·vue.js
计算机学姐35 分钟前
基于SpringBoot的校园二手交易系统
java·vue.js·spring boot·后端·spring·tomcat·intellij-idea
冰暮流星44 分钟前
javascript之回调函数
开发语言·前端·javascript
wuhen_n1 小时前
Vue3 组件中的图片懒加载与渐进式加载
前端·javascript·vue.js