使用 vue element UI 框架對form內容 rules動態驗證非空


<el-dialog :title="dialogStatus" :visible.sync="dialogFormVisible">
<el-form
ref="dataForm"
:rules="rules"
:model="dataForm"
status-icon
label-position="left"
label-width="100px"
style="width: 400px; margin-left:50px;"
>
<el-form-item label="id" prop="id" hidden>
<el-input v-model="dataForm.id" />
</el-form-item>
<el-form-item label="審核狀態" prop="status" label-width="120px" >
<el-radio v-model="dataForm.status" label="1" border @click="statusVisible = false">通過</el-radio>
<el-radio v-model="dataForm.status" label="2" border @click="statusVisible = true">駁回</el-radio>
</el-form-item>
<el-form-item label="佣金比例(%)" label-width="120px" prop="commission" :rules="dataForm.status!=2?rules.commission:[{ required: false, message: '請填寫團長佣金比例(%)', trigger: 'blur' }]" >
<el-input v-model="dataForm.commission" />
</el-form-item>
<div :visible.sync="statusVisible">
<el-form-item label="備注說明" label-width="120px" prop="remarks" :rules="dataForm.status!=2?rules.remarks:[{ required: true, message: '請填寫駁回原因', trigger: 'blur' }]" >
<el-input v-model="dataForm.remarks" type="textarea" />
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button :loading="submiting" type="primary" @click="applySubmit">確定</el-button>
</div>
</el-dialog>
rules: {
status: [{ required: true, message: '請選擇審核狀態', trigger: 'blur' }],
remarks: [{ required: false, message: '請填寫駁回原因', trigger: 'blur' }],
commission: [{ required: true, message: '請填寫團長佣金比例(%)', trigger: 'blur' }]
}
上述代碼為核心實現區域;

下面是效果圖;核心控制在於


<el-form-item label="佣金比例(%)" label-width="120px" prop="commission" :rules="dataForm.status!=2?rules.commission:[{ required: false, message: '請填寫團長佣金比例(%)', trigger: 'blur' }]" >
<el-input v-model="dataForm.commission" />
</el-form-item>
<div :visible.sync="statusVisible">
<el-form-item label="備注說明" label-width="120px" prop="remarks" :rules="dataForm.status!=2?rules.remarks:[{ required: true, message: '請填寫駁回原因', trigger: 'blur' }]" >
<el-input v-model="dataForm.remarks" type="textarea" />
</el-form-item>
</div>

rules: {undefined
status: [{ required: true, message: '請選擇審核狀態', trigger: 'blur' }],
remarks: [{ required: false, message: '請填寫駁回原因', trigger: 'blur' }],
commission: [{ required: true, message: '請填寫團長佣金比例(%)', trigger: 'blur' }]
}

 

 

 

 

 

 

 


————————————————
版權聲明:本文為CSDN博主「法法-發發發」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xingfaup/article/details/110912564


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM