html表单验证必填项,element-ui 表单必填项和表单验证方式解析,以及表单验证规则...

(一)表单必填项

需求:表单里必填项需要有红色星号标识,当未填写时显示中文提示语

思路:表单项里写required

问题:当表单项的验证规则绑定为blur事件时,表单项内元素清空后,会提示“xx is required”,其中xx是绑定的prop值。

解决办法:在表单项里模拟红色星号的样式,去掉required,写class=“is-required”,必填的限制在绑定的rules里写。

(二)表单验证方式解析

model:表单控件绑定的数据对象,在校验或重置时会访问该数据对象下对应的表单数据,类型为 Object。

rules:表单验证规则,即上面介绍的 async-validator 所使用的校验规则,类型为 Object。

ref必须加,还得和model一样

el-form-item 里面的prop是rules里面对应的名称的验证内容,而验证的就是v-model里面的值存不存在

在点击保存按钮时(@click="handleOk('form')),进行验证

handleOk(formName) {

this.$refs[formName].validate((valid) => {

if (valid) {

// 表单验证通过之后的操作

} else {

console.log('error submit!!');

return false;

}

});

},

(三)表单验证规则

rules: {

email: [{ required: true,validator: checkEmail, trigger: "blur" }],

user_name: [{ required: true, message: "请输入电话号码", trigger: "blur" }],

}

自定义验证规则:

data() {

let checkEmail = (rule, value, callback) => {

//邮箱正则

var reg = new RegExp(

"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"

);

if (!value) {

callback(new Error("邮箱地址不能为空"));

} else if (!reg.test(value)) {

callback(new Error("请输入正确的邮箱地址"));

} else {

callback();

}

};

},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值