添加校验规则

This commit is contained in:
zhangyiming 2020-12-04 18:33:45 +08:00
parent afbbaebfc0
commit 6a5776819f

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="info"> <div class="info">
<el-form :model="ruleForm" ref="ruleForm" class="rule-form"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="rule-form">
<el-form-item prop="userName"> <el-form-item prop="userName">
<el-input <el-input
clearable clearable
@ -12,6 +12,7 @@
<el-form-item prop="passWord"> <el-form-item prop="passWord">
<el-input <el-input
clearable clearable
type="password"
v-model="ruleForm.passWord" v-model="ruleForm.passWord"
placeholder="请输入密码" placeholder="请输入密码"
prefix-icon="el-icon-lock" prefix-icon="el-icon-lock"
@ -19,7 +20,10 @@
</el-form-item> </el-form-item>
<el-form-item prop="verify"> <el-form-item prop="verify">
<el-input <el-input
v-model="ruleForm.verify" maxlength="2"
show-word-limit
onkeyup="this.value=this.value.replace(/[^\d.]/g,'');"
v-model.number="ruleForm.verify"
placeholder="请输入验证码" placeholder="请输入验证码"
></el-input> ></el-input>
<span <span
@ -39,6 +43,7 @@
<script lang='ts'> <script lang='ts'>
import { import {
ref,
defineComponent, defineComponent,
PropType, PropType,
onBeforeMount, onBeforeMount,
@ -65,25 +70,44 @@ export default defineComponent({
setup(props, ctx) { setup(props, ctx) {
let vm: any; let vm: any;
const rules: Object = ref({
userName: [{ required: true, message: "请输入用户名", trigger: "blur" }],
passWord: [
{ required: true, message: "请输入密码", trigger: "blur" },
{ min: 6, message: "密码长度必须不小于6位", trigger: "blur" },
],
verify: [
{ required: true, message: "请输入验证码", trigger: "blur" },
{ type: "number", message: "验证码必须是数字类型", trigger: "blur" },
],
});
onBeforeMount(() => { onBeforeMount(() => {
vm = getCurrentInstance(); // vm = getCurrentInstance(); //
}); });
// //
const onLogin = (evt: Object): void => { const onLogin = (evt: Object): void => {
ctx.emit("onLogin", evt); vm.refs.ruleForm.validate((valid: Boolean) => {
if (valid) {
ctx.emit("onLogin", evt);
} else {
return false;
}
});
}; };
// //
const refreshVerify = (): void => { const refreshVerify = (): void => {
ctx.emit("refreshVerify"); ctx.emit("refreshVerify");
}; };
// //
const resetForm = (): void => { const resetForm = (): void => {
vm.refs.ruleForm.resetFields(); vm.refs.ruleForm.resetFields();
}; };
return { resetForm, onLogin, refreshVerify }; return { rules, resetForm, onLogin, refreshVerify };
}, },
}); });
</script> </script>