什么是表单验证?
表单验证通常往往用于一些信息填写完成以后, 前端提交到服务器之前的一个自检过程,比如:用户输入的手机号是都正确?用户输入的邮箱是否正确?此项信息是否是必填?
在提交到服务器之前去拦截信息的正确性。正确则提交服务器,错误则弹出警告提示!
基础的表单校验(Element-UI form):
**email **: 校验邮箱格式
maxlength:最大输入长度
minlength:最小输入长度
为什么要自定义form表单验证?
当使用form表单时,基础的一些验证满足不了我们项目中的需求时,这时候我们就需要去自定义验证规则。
如何自定义form表单验证?
现在我们来定义一个在项目中使用过的表单验证,来校验我们输入的富文本内容是否为空,包括空格。
Html部分
01
<el-form label-position="right"
:rules="rules"
size="small"
ref="formRef"
:model="form">
<el-form-item prop="content">
<Editor v-if="isnextTick"
:content="content"
:editorRef="editor2"
@keydown="(e) => keydownup(e)"
@onChangeEdito="onChangeEdito">
</Editor>
</el-form-item>
定义Rules部分
02
const rules = reactive({
content: [{ required: true, validator: checkSpace, trigger: "blur" }]
});
const checkSpace = (rule, value, callback) => {
if (!value.trim()) {
callback(new Error("发布评论不能为空"));
} else {
callback();
}
};
const checkVal = (str) => {
let num = 0;
const reg = /<p>(&nbsp;|&nbsp;\s+)+<\/p>|<p>(<br\/>)+<\/p>/g;
while (num < str.length && str !== "") {
num++;
const k = str.match(reg);
if (k) {
str = str.replace(k[0], "");
}
}
return str === "";
};
form表单校验根据自己的需求不同,可以自己定义校验规则,从而更灵活的满足需求。