Как принять сообщение проверки динамически - PullRequest
0 голосов
/ 24 января 2019

Я делаю проверку формы, но когда я пытаюсь пройти динамическую проверку, она не работает.

Как я могу сделать динамическую проверку без использования метода валидатора, потому что в форме есть много полей, для каждого поля мне нужна динамическая валидация, и если я буду использовать метод валидатора для всех, тогда мой код увеличится, и я не буду не хочу.

Кто-нибудь может подсказать, как я могу передать динамическое значение в сообщении?

var Main = {
  data() {
    return {
      ruleForm2: {
        email: "",
        validationMsg: {
          msg: "Please Enter Email"
        }
      },
      
      rules2: {
        email: [{
          required: true,
          message: "Please Enter Email",
          trigger: 'blur'
        }]
        //email: [
        //  {
        //    required: true, 
        //    message: this.validationMsg.msg, 
        //    trigger: 'blur'
        //  }
        //]
      }
    }
  },
  
  methods: {
    submit() {
      this.$refs['ruleForm2'].validate(valid => {
        console.log("res", res);
        
        if (valid) {
          alert('true')
        } 
        else {
          alert('false')
          return false
        }
      })
    }
  }
}

var Ctor = Vue.extend(Main)

new Ctor().$mount('#app')
@import url("//unpkg.com/element-ui@1.4.1/lib/theme-default/index.css");
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@1.4.1/lib/index.js"></script>

<div id="app">
  <template>
    <el-form :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2" label-width="120px" class="demo-ruleForm">
      <el-form-item label="Email" prop="email">
         <el-input type="email" v-model="ruleForm2.email" autocomplete="off"></el-input>
      </el-form-item>
      
      <el-form-item>
         <el-button @click="submit">Submit</el-button>
      </el-form-item>
    </el-form>
  </template>
</div>
...