vux [Feature Request] 如何不用submit按钮, 用button按钮触发表单验证的提示红色和图标.

i86rm4rw  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(69)

Existing Component

Component Name

x-input

Description

某些时候不想要用submit提交, 想用button提交, 可以拿到内部验证的结果如: this.$refs.xxx.valid, 但这时候如何更改表单颜色, 并加上错误图标? 难道要手工加? 那就要三个元素都要操作, title, input, icon-type. 不能像失去x-input焦点一样触发所有验证吗?

fquxozlt

fquxozlt1#

var isOK = true;
    for (var x in this.$refs) {
      if (this.$refs[x].validate) {
        this.$refs[x].validate();
        var valid = this.$refs[x].valid;
        if (!valid) {
          this.$refs[x].focus();
          this.$refs[x].blur();
          isOK = false;
        }
      }
    }

    if (isOK) {
      alert("校验通过");
    } else {
      alert("校验不通过");
    }

目前统一在提交逻辑前遍历组件,通过focus和blur的调用能够触发颜色和错误图标的效果

但是受制于valid验证只适用于x-input等少量组件,对于cell或其他自定义组件的验证无法处理

相关问题