//一个简陋的模板
<template>
<div>
<el-form
style="max-width: 300px;margin: 200px"
size="large"
:rules="rules"
:model="data"
ref="ruleForm"
>
<el-form-item label="名字" prop="name">
<el-input v-model="data.name" type="text" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="data.age" type="text" autocomplete="off"></el-input>
</el-form-item>
<el-button type="primary" @click="test">提交</el-button>
</el-form>
</div>
</template>
<script lang="ts" setup>
import {reactive, ref} from "vue";
const ruleForm = ref()
const data = reactive({
name: '',
age: ''
})
const myFunction= function (rule: any, value: any, callback: any){
if(value===''){
callback(new Error('名字为空'))
}
}
const rules = {
name: [{required: true,validator: myFunction, trigger: 'blur'}],
age: [{required: true, message: '请输入名字', trigger: 'blur'}]
}
const test = function () {
ruleForm.value.validate((aaa: boolean) => {
if(aaa){
console.log('发送请求')
}else {
console.log('其他')
}
console.log(aaa)
})
}
</script>
<style scoped>
</style>