<template>
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="用户名" prop="username">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="form.password"></el-input>
</el-form-item>
<el-button type="primary" @click="validateSingleField('username')">验证用户名</el-button>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
}
};
},
methods: {
validateSingleField(field) {
this.$refs.form.validateField(field, (errorMessage) => {
if (errorMessage) {
console.log(`${field} 验证未通过: ${errorMessage}`);
} else {
console.log(`${field} 验证通过`);
}
});
}
}
};
</script>
在上述示例中,点击“验证用户名”按钮时,会调用 validateSingleField
方法,该方法会使用 validateField
对 username
字段进行验证,并在回调函数中检查 errorMessage
是否存在。如果 errorMessage
存在,说明验证未通过,并输出相关信息;如果 errorMessage
为空,说明验证通过。
你可以根据需要调用 validateField
方法来验证任何一个特定的表单字段。