vant4输入框,点击不同的按钮触发不同项目的校验
时间: 2024-03-20 18:42:18 浏览: 91
在使用Vant 4的输入框时,您可以根据不同的按钮来触发不同的校验规则。可以通过`van-field`组件的`rules`属性来设置校验规则,通过`$refs`来获取输入框实例的引用,然后在点击不同按钮时,调用`validate`方法来触发对应的校验规则。
以下是一个示例代码:
```vue
<template>
<div>
<van-field
v-model="username"
label="用户名"
:rules="usernameRules"
error-message
ref="usernameField"
/>
<van-field
v-model="password"
label="密码"
:rules="passwordRules"
error-message
ref="passwordField"
/>
<van-button type="primary" @click="validate('username')">校验用户名</van-button>
<van-button type="primary" @click="validate('password')">校验密码</van-button>
</div>
</template>
<script>
export default {
data() {
return {
username: '',
password: '',
usernameRules: [
{ required: true, message: '用户名不能为空' },
{ min: 3, max: 5, message: '用户名长度为3-5个字符' }
],
passwordRules: [
{ required: true, message: '密码不能为空' },
{ min: 6, message: '密码长度不能少于6个字符' }
]
}
},
methods: {
validate(type) {
if (type === 'username') {
this.$refs.usernameField.validate((valid) => {
if (valid) {
alert('用户名校验通过')
} else {
alert('用户名校验不通过')
}
})
} else if (type === 'password') {
this.$refs.passwordField.validate((valid) => {
if (valid) {
alert('密码校验通过')
} else {
alert('密码校验不通过')
}
})
}
}
}
}
</script>
```
在上面的示例中,我们在`van-field`组件上分别设置了用户名和密码的校验规则。在点击不同的按钮时,我们根据传入的参数来判断需要触发哪个输入框的校验规则,然后调用对应输入框实例的`validate`方法来进行校验。
需要注意的是,在使用`ref`获取输入框实例的引用时,需要给每个输入框设置不同的`ref`值,以便在方法中正确引用对应的输入框实例。
阅读全文