vue3——登录校验

页面

首先需要在表单配置model、ref、rules,el-form-item中放prop

		<el-form :model="form" label-width="0" ref="formRef" :rules="rules">
            <el-form-item label="" prop="username">
              <el-input v-model="form.username" :prefix-icon="User" />
            </el-form-item>
            <el-form-item label="" prop="password">
              <el-input
                v-model="form.password"
                :prefix-icon="Lock"
                show-password
              />
            </el-form-item>
            <el-form-item label="">
              <el-button
                class="loginBtn"
                type="primary"
                :loading="btnLoading"
                @click="loginClick"
              >
                登录
              </el-button>
            </el-form-item>
          </el-form>

script

let form = reactive({
   
  username: 'admin',
  password: '111111',
})
const formRef = ref()
const btnLoading = ref(false)
const rules = {
   
  username: [
    {
    required: true, message: '请输入账号', trigger: 'blur' },
    {
    min: 5, message: '账号不能少于五位', trigger: 'blur' },
  ],
  password: [
    {
    required: true, message: '请输入密码', trigger: 'blur' },
    {
    min: 5, message: '密码不能少于五位', trigger: 'blur' },
  ],
}

const loginClick = () => {
   
  formRef.value.validate(async (valid: any, fields: any) => {
   
    if (valid) {
   
      btnLoading.value = true
      try {
   
        await userStore.userLogin(form) // 接口
        btnLoading.value = false
        ElNotification({
   
          title: `${
     tool.getTimeType()}`,
          message: '登录成功',
        })
        await router.push('/')
      } catch (error) {
   
        btnLoading.value = false
        ElNotification({
   
          title: '登录失败', 
          message: (error as Error).message,
        })
      }
    } else {
   
      btnLoading.value = false
      console.log('error submit!', fields)
    }
  })
}

看着简单,少一点休想校验 (ˉ▽ˉ;)…

相关推荐

  1. vue3——登录校验

    2024-02-09 06:26:01       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-09 06:26:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-09 06:26:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-09 06:26:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-09 06:26:01       18 阅读

热门阅读

  1. Vue-1

    2024-02-09 06:26:01       30 阅读
  2. 12.使用Promise封装Ajax

    2024-02-09 06:26:01       35 阅读
  3. 元素显示模式

    2024-02-09 06:26:01       28 阅读
  4. Kubernetes 是什么?

    2024-02-09 06:26:01       26 阅读
  5. 【Network Management】AUTOSAR架构下CanNm User Data详解

    2024-02-09 06:26:01       32 阅读
  6. 力扣738单调递增的数字思路以及贪心总结

    2024-02-09 06:26:01       36 阅读
  7. 【正则表达式的妙用】

    2024-02-09 06:26:01       31 阅读
  8. Nginx+React在Docker中实现项目部署

    2024-02-09 06:26:01       34 阅读
  9. 常用的文件系统、存储类型小整理

    2024-02-09 06:26:01       30 阅读