element ui 表单验证单选框是否被选中的小问题
问题:当我用 sex: [{ required: true, message: '请选择性别', trigger: 'change' }]
时发现,只要点击单选框的按钮它就会出现请选择性别的提示。
解决:这是因为我的prop和v-model设置的名字不一致导致的,如果不一致,它就无法动态根据你的选择去验证了。
正确示例代码如下:
<template>
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="性别" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio label="male">男</el-radio>
<el-radio label="female">女</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
sex: '',
radio:''
},
rules: {
sex: [{ required: true, message: '请选择性别', trigger: 'change' }]
}
}
},
methods: {
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
alert('表单验证通过')
} else {
alert('表单验证不通过')
return false
}
})
}
}
}
</script>