javascript
              
              
            
          
          <template>
  <el-form :model="user" :rules="rules" ref="loginForm" label-width="auto" style="max-width: 600px">
    <el-form-item label="用户名" prop="name">
      <el-input v-model="user.name" id="name" placeholder="请输入用户名" />
    </el-form-item>
    <el-form-item label="密码" prop="pass">
      <el-input v-model="user.pass" id="pass" placeholder="请输入密码" />
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="onSubmit">登录</el-button>
    </el-form-item>
  </el-form>
</template>
<script lang="ts" setup>
import { ref, reactive } from 'vue'
import { ElMessage } from 'element-plus'
// 响应式的对象
const user = reactive({
  name: '',
  pass: '',
})
// 设置验证规则
const rules = {
  name: [
    { required: true, message: '请输入用户名', trigger: 'blur' },
    { min: 3, max: 30, message: '长度在 3 到 30 个字符', trigger: 'blur' },
  ],
  pass: [{ required: true, message: '请输入密码', trigger: 'blur' }],
}
// 创建对表单的引用
const loginForm = ref(null)
// 点击登录按钮的时候,验证是否满足rules规则
const onSubmit = () => {
  if (loginForm.value) {
    loginForm.value.validate((valid: boolean) => {
      if (valid) {
        // 表单验证通过,执行登录逻辑
        console.log(user)
        ElMessage.success('登录成功')
      } else {
        // 表单验证未通过,显示错误信息
        ElMessage.error('请检查输入的内容')
        return false
      }
    })
  }
}
</script>
        解释
- 
创建响应式对象:
- 使用 
reactive创建响应式的user对象。 - 使用 
ref创建对表单的引用loginForm。 
 - 使用 
 - 
设置验证规则:
- 定义 
rules对象,包含用户名和密码的验证规则。 
 - 定义 
 - 
模板中使用
ref属性:- 在 
<el-form>元素上使用ref="loginForm",将其引用注册到loginForm。 
 - 在 
 - 
onSubmit方法:- 在 
onSubmit方法中,通过loginForm.value访问表单,并调用validate方法验证表单。 validate方法执行后,传递一个布尔值valid到回调函数中。如果valid为true,则表示表单验证通过;否则,显示错误消息。
 - 在 
 - 
显示消息:
- 使用 
ElMessage显示成功或失败的消息。(ElMessage是EleMent Plus提供的信息组件) 
 - 使用