不使用el-form仅仅单独给el-input设置表单校验

简介: 不使用el-form仅仅单独给el-input设置表单校验

<template>
  <div>
    <el-input
      v-model="inputValue"
      :class="{ 'is-invalid': isInputInvalid }"
      placeholder="请输入内容"
      @blur="validateInput"
    ></el-input>
    <span v-if="isInputInvalid" class="error-message">{{ inputErrorMessage }}</span>
    <el-button type="primary" @click="submitForm">提交</el-button>
  </div>
</template>
<script>
export default {
  data() {
    return {
      inputValue: '',
      isInputInvalid: false,
      inputErrorMessage: ''
    };
  },
  methods: {
    validateInput() {
      // 根据自定义的校验规则进行校验
      if (this.inputValue === '') {
        this.isInputInvalid = true;
        this.inputErrorMessage = '内容不能为空';
      } else if (this.inputValue.length < 5 || this.inputValue.length > 10) {
        this.isInputInvalid = true;
        this.inputErrorMessage = '内容长度应在 5 到 10 之间';
      } else {
        this.isInputInvalid = false;
        this.inputErrorMessage = '';
      }
    },
    submitForm() {
      // 在提交表单时再次触发校验,确保校验结果
      this.validateInput();
      // 如果校验通过,则进行后续的表单提交操作
      if (!this.isInputInvalid) {
        // 表单提交操作
      }
    },
      closeDialog() {
      // 关闭dialog
      // 重置表单数据和校验历史
      this.appname = '';
      this.isInputInvalid = false;
      this.inputErrorMessage = '';
    },
  }
};
</script>
<style>
.error-message {
  color: red;
}
.is-invalid .el-input__inner {
  border-color: red;
}
</style>

相关文章
|
JavaScript
Element el-form 表单详解
本文目录 1. 前言 2. 基本用法 3. 行内表单 4. 标签对齐方式 5. 调整尺寸 6. 小结
1691 0
Element el-form 表单详解
|
2月前
|
JavaScript
v-model指令获取常见表单项的内容 input,textarea,radio,checkbox,select
本文介绍了Vue.js中v-model指令的作用和语法,并通过示例代码展示了如何使用v-model来获取不同类型的表单元素(如文本输入框、文本域、复选框、单选框和下拉菜单)的内容。
|
3月前
|
JavaScript 前端开发
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
这篇文章介绍了在Vue框架中使用Element UI组件库时,如何通过v-if指令和v-model绑定来控制`el-form-item`的显示与隐藏,以及如何通过设置`readonly`属性让输入框变为只读状态。
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
|
3月前
|
前端开发
el-form-item label中的字体样式设置格式
这篇文章介绍了如何在Element UI的`el-form-item`组件中自定义`label`标签的样式,通过使用`slot`属性和内联CSS来改变字体颜色和加粗显示。
el-form-item label中的字体样式设置格式
|
4月前
|
JavaScript
element-ui 在vue中el-input输入框的autofocus属性失效【解决方案】
element-ui 在vue中el-input输入框的autofocus属性失效【解决方案】
242 1
|
6月前
el-tree在el-form中通过rules进行校验
el-tree在el-form中通过rules进行校验
205 1
|
资源调度
动态表单:el-form-renderer
动态表单:el-form-renderer
139 0