van-form 组件的校验规则:
van-form 组件的校验规则可以通过 rules 属性来设置,每个校验规则是一个对象,包含以下属性:
name:字段的名称,用于标识字段。rules:字段的校验规则,是一个数组,每个元素是一个对象,包含以下属性:required:是否必填,为true表示必填,为false表示非必填,默认为false。message:校验失败时的提示信息。validator:自定义校验函数,接收两个参数:字段的值和回调函数,通过调用回调函数传递校验结果,校验成功时调用callback(),校验失败时调用callback(false)。
以下是一个示例:
<van-form :model="form" :rules="rules">
<van-field v-model="form.name" name="name" label="姓名" />
<van-field v-model="form.age" name="age" label="年龄" />
<van-button type="primary" round @click="submit">提交</van-button>
</van-form>
export default {
data() {
return {
form: {
name: '',
age: ''
},
rules: {
name: [
{ required: true, message: '请输入姓名' },
{ validator: this.checkName }
],
age: [
{ required: true, message: '请输入年龄' },
{ validator: this.checkAge }
]
}
};
},
methods: {
checkName(value, callback) {
if (value.trim() === '') {
callback(false);
} else {
callback();
}
},
checkAge(value, callback) {
if (value === '') {
callback(false);
} else if (!/^\d+$/.test(value)) {
callback('年龄必须为数字');
} else {
callback();
}
},
submit() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,执行提交操作
} else {
// 校验失败,显示错误提示
}
});
}
}
};
在上面的示例中,rules 对象中定义了两个字段的校验规则,其中 name 字段有两个校验规则:必填和自定义校验函数 checkName。age 字段也有两个校验规则:必填和自定义校验函数 checkAge。在 checkName 和 checkAge 函数中,根据字段的值进行校验,通过调用回调函数传递校验结果。最后,在提交按钮的点击事件中,通过调用 validate 方法对表单进行校验,校验结果通过回调函数传递给外部
原文地址: https://www.cveoy.top/t/topic/iIuW 著作权归作者所有。请勿转载和采集!