elementUI Form表單校驗 不通過問題

遇到一個問題,適用elementUI的表單校驗時,select校驗總是不通過
代碼如下:

<el-form label-width="100px"  :model="addForm" :rules="rules" ref="addForm">
  <el-form-item label="報表" :label-width="formLabelWidth" prop="report">
    <el-select v-model="addForm.reportValue" placeholder="請選擇報表" style="width:275px">
      <el-option v-for="item in addForm.reportOptions" :label="item.name" :value="(item.id)*1">
      </el-option>
    </el-select>
  </el-form-item>
</el-form>
<script>
export default {
  data() {
    return {
      addForm: {
        reportValue: '',
      },
      rules: {
        report: [ { required: true, message: '請選擇報表', trigger: 'change' } ],
      }
    }
  }
}
</script>

總是報錯,就算選擇了還是報錯如下圖
image.png

image.png

經(jīng)過多方排查,終于找到問題所在:
重點啦!重點啦!
表單中每個item項v-model綁定的data的字段,必須必須必須,和rules中的對應(yīng)字段,名字名字名字,一樣,否則校驗時取不到值(undefined),所以無論輸入什么或者選擇什么都校驗不過。

正確代碼方式如下

<el-form label-width="100px"  :model="addForm" :rules="rules" ref="addForm">
  <el-form-item label="報表"  prop="reportValue">
    <el-select v-model="addForm.reportValue" placeholder="請選擇報表">
      <el-option v-for="item in addForm.reportOptions" :label="item.name" :value="(item.id)*1">
      </el-option>
    </el-select>
  </el-form-item>
</el-form>
<script>
export default {
  data() {
    return {
      addForm: {
        reportValue: '',
      },
      rules: {
        reportValue: [ { required: true, message: '請選擇報表', trigger: 'change' } ],
      }
    }
  }
}
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容