vue使用element ui自定义手机验证规则问题
作者:像夏天一样热
这篇文章主要介绍了vue使用element ui自定义手机验证规则问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用element ui自定义手机验证规则
1.表单的一项
<el-form-item label="电话" prop="senderPhone"> <el-input v-model="packageInfo.senderPhone"></el-input> </el-form-item>
2.制定验证规则
data() {
var checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
console.log(reg.test(value));
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
};
return {
packageInfo:{
senderName:'asdas',
senderPhone:'',
},
packageInfoRules:{
senderName:[
{ required: true, message: '请输入寄件人姓名', trigger: 'blur' },
],
senderPhone:[
{required:true, validator:checkPhone, trigger: ['blur', 'change'] }
]
},
element-ui form组件自定义校验
<el-form-item
label="活动时间"
prop="activityTime">
<el-date-picker v-model={this.form.activityTime.startTime}/>
</el-form-item>form表单内 元素关联值为对象关键字
data () {
// 活动时间校验
const checkActivityTime = (rule, value, callback) => {
if (!value.startTime) {
callback('请选择活动开始时间')
} else if (!value.endTime) {
callback('请选择活动结束时间')
} else if (dayjs(value.endTime).isSameOrBefore(dayjs(value.startTime))) {
callback('结束时间不得等于或晚于当前开始时间')
} else if (dayjs().isAfter(dayjs(value.endTime))) {
callback('结束时间不得晚于当前时间')
} else {
callback()
}
}
return {
rules: {
activityTime: [
{ required: true, validator: checkActivityTime, trigger: 'change'}
]
}
}
},自定义校验内容可直接在data方法中定义
validator 传入自定义校验回调参数
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
