Vue rules表单验证失效

这篇具有很好参考价值的文章主要介绍了Vue rules表单验证失效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这个题目可能表达不明白,就是表达内的数据都填写了通过rules验证发现表单内根本没有数据,表单是空的。

这是表单 类型是insertBook,填写基本的图书信息

<el-form
      :rules="rules"
      ref="insertBook"
      :model="insertBook"
      label-width="80px"
    >
      <el-row>
        <el-col :span="7"
          ><el-form-item label="书名" prop="bname">
            <el-input
              v-model="insertBook.books.bname"
              style="width: 240px"
            ></el-input> </el-form-item
        ></el-col>
        <el-col :span="7">
          <el-form-item label="书号" prop="bnum">
            <el-input
              v-model="insertBook.books.bnum"
              style="width: 240px"
            ></el-input> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="7">
          <el-form-item label="作者" prop="bwriter">
            <el-input
              v-model="insertBook.books.bwriter"
              style="width: 240px"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item label="出版社" porp="bpress">
            <el-input
              v-model="insertBook.books.bpress"
              style="width: 240px"
            ></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="7">
          <el-form-item label="分类" prop="bclass">
            <el-select
              v-model="insertBook.books.bclass"
              placeholder="请选择分类"
            >
              <el-option
                v-for="e in $store.state.booksClass"
                :key="e.index"
                :label="e.text"
                :value="e.value"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item label="状态" prop="bstate">
            <el-select
              v-model="insertBook.books.bstate"
              placeholder="请选择状态"
            >
              <el-option
                v-for="e in $store.state.booksState"
                :key="e.index"
                :label="e.text"
                :value="e.value"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="7">
          <el-form-item label="价格" prop="bprice">
            <el-input
              v-model.number="insertBook.books.bprice"
              style="width: 240px"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="3">
          <el-form-item label="楼层" prop="bfloor">
            <el-input
              v-model.number="insertBook.books.bfloor"
              style="width: 50px"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="1"></el-col>
        <el-col :span="3">
          <el-form-item label="位置" prop="baddress">
            <el-input
              v-model="insertBook.books.baddress"
              style="width: 50px"
            ></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="7">
          <el-form-item label="来源" prop="bsource">
            <el-input
              v-model="insertBook.booksNote.bsource"
              style="width: 240px"
            ></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-form-item>
        <el-button type="primary" @click="insertBooks()">入库</el-button>
        <el-button>取消</el-button>
      </el-form-item>
    </el-form>

这是写在data中的insertBook类型数据 以及rules验证规则

data() {
    return {
      sampleD: "value",
      insertBook: {
        books: {
          baddress: null,
          bclass: "xiandai",
          bfloor: null,
          bid: null,
          bname: null,
          bnum: null,
          bpress: null,
          bprice: null,
          bstate: "keyi",
          bwriter: null,
        },
        booksNote: {
          bid: 5,
          bnum: "",
          bsource: null,
          insertTime: "",
          insertAdmin: "",
        },
      },
      rules: {
        bname: [{ required: true, message: "请填写书名", trigger: "blur" }],
        bwriter: [{ required: true, message: "请填写作者", trigger: "blur" }],
        bpress: [{ required: true, message: "请填写出版社", trigger: "blur" }],
        bfloor: [
          { required: true, message: "请填写存放楼层", trigger: "blur" },
          { validator: isInteger, trigger: "blur" },
        ],
        baddress: [
          { required: true, message: "请填写存放书架", trigger: "blur" },
        ],
        bnum: [{ required: true, message: "请填写书号", trigger: "blur" }],
        bprice: [{ required: true, message: "请填写价格", trigger: "blur" }],
        bsource: [{ required: true, message: "请填写来源", trigger: "blur" }],
        bstate: [{ required: true, message: "请选择书籍状态", trigger: "blur" }],
        bclass: [{ required: true, message: "请选择书籍分类", trigger: "blur" }],
      },
    };
  },

这是method中的插入书籍请求

insertBooks() {
      this.$refs.insertBook.validate((valid) => {
        if (valid) {
          this.$http({
            method: "post",
            url: "/library/books/insertBook",
            data: this.insertBook,
          }).then(
            (res) => {
              this.$message.warning(JSON.stringify(res.data));
            },
            (error) => {
              console.log(" request error : " + error.response.status);
            }
          );
        } else {
          this.$message.warning(this.insertBook);
          // this.$message.warning("验证不通过请重新填写表单");
        }
      });
    },

我仔细地检查了每一个标签 并没有落下任何一个prop
然而
Vue rules表单验证失效Vue rules表单验证失效
我填写了数据vue中也提示有数据,我通过请求中的else this.$message.warning(this.insertBook);
Vue rules表单验证失效发现输出insertBook中的数据,输出为空

解决了 卧槽 真厉害呀
就是我的书名类型全称应该是insertBook.books.bname (就是v-model)
要写成 prop=‘books.bname’
rule:{
[‘books.bname’]:[{ required: true, message: “请填写书名”, trigger: “blur” }]
}
这样就好使了 hhhh文章来源地址https://www.toymoban.com/news/detail-424678.html

解决了rules验证失败,类型只能扒掉一层皮

到了这里,关于Vue rules表单验证失效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue中rules表单验证,表单必填*显示位置不对,*显示位置错误

    在data中编写rules规则: 其中name为prop名 type:类型 required:是否必选项(此栏是否为空) message:\\\"“设置不符合校验规则时的提示信息; trigger:”\\\"设置校验的触发方式: ‘change’:数据改变时触发; 常用:对 input 输入框的验证 ‘blur’:失去焦点时触发; 常用:下拉框select,日

    2024年02月04日
    浏览(43)
  • 解决Vue+Element UI使用表单rules国际化时From表单验证信息不能实时更新

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 博主在工作之余开始进行自动化测试平台的开发,虽然已经996一个月了但是还是在使劲挤时间做这件事情,目前平台使用前端框架 vue-element-admin 进行简化后二次开发,目前保留了原框架中的国际化

    2024年02月13日
    浏览(40)
  • vue element form rules表单规则验证,输入框有值,但验证始终不消失问题的个人解决办法

             做项目时在el-form中遇到了设定了表单验证规则,但只要输入值就显示未输入的情况:         根据网上查找的结果,rules中的名称要与from-item中的prop别名相同,看了一下没问题    后来在网上看到这篇文章:vue element form表单规则验证,有值,但验证始终不消失

    2024年02月12日
    浏览(41)
  • Vue表单提交正则表达式验证使用案例

    一、验证表单用法 1、表单布局及变量定义 2、定义表单中用到的实例、变量、交互dto等 3、验证规则表达式 说明: 1、sendRules 是表单使用的验证规则对象 2、属性 xxxNo 是具体校验那个属性字段 3、属性 required 非空校验 4、属性 message 提示字样 5、属性 trigger 触发事件 6、

    2024年02月16日
    浏览(35)
  • TDesign表单rules通过函数 实现复杂逻辑验证输入内容

    Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑 TDesign也有validator 但比较直观的说 没有Element那么好用 这里 我们给validator绑定了我们自己的checkAge函数 这个函数中 只有一个参数 value 而且 如果你的v-model绑定的值不

    2024年02月10日
    浏览(34)
  • for循环遍历的`form表单组件`rules规则校验失效问题——下拉框选择之后还是报红---亲测有效

    问题:   大概的效果就是这种, for循环选择之后还是还是报红 看文章之前 :  先检查  model  rules pops 有没有判定好 解决:    参考了他的 for循环遍历的`form表单组件`rules规则校验失效问题——输入内容后依然提示必填,亲测有效——基础积累_a-form-model的validatefield方法循环遍

    2024年02月07日
    浏览(36)
  • navie表单验证rules使用type: ‘number‘报错的问题

    rules检验,使用type: \\\'number\\\'时,rules报错,提示索引签名不兼容: 解决方法:在rules定义的时候设置其类型为FormRules

    2024年02月11日
    浏览(41)
  • Elenment UI表单验证时,有值但还是提示错误,表单验证失效问题

    下午在用Element UI写一个表单的时候突然发现,表单的验证规则失效了 使用Element自带的表单校验规则时,表单为空的时候下方有提示信息,表单不为空的时候依然有提示信息   查看资料找到几种方式都不管用 一种是检查 el-form-item 中的 prop值 和 el-input 的v-model的值是否一致,

    2024年02月11日
    浏览(38)
  • element-plus的form表单验证Prop和Rules设置约定

    在使用表单验证过程中遇到深层对象(即嵌套对象)和数组或动态创建数组对象时验证不再起作用或者出现错误。 官网的说明“ Form  组件提供了表单验证的功能,只需为  rules  属性传入约定的验证规则,并将  form-Item  的  prop  属性设置为需要验证的特殊键值即可。 更多高

    2024年02月16日
    浏览(47)
  • Element UI 表单验证规则动态失效问题

    Element 版本:v2.15.3 如下代码所示:有一个上传文件的 input 组件,在更新的时候,如果不上传文件表示不更新,如果要更新则点击 「重新上传」按钮将上传组件显示出来 也就是如上图:不更新的话,该字段不是必须的,提交的时候就不会被校验,如果更新的话,就要让这个字

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包