elementui实现登录页面效果及验证

1.当前页面

<el-form :model="ruleForm"
               :rules="rules"
               ref="ruleForm">
        <el-form-item prop="account">
          <el-input type="text"
                    v-model="ruleForm.account"
                    autocomplete="off"
                    placeholder="请输入用户名">
          </el-input>
        </el-form-item>
        <el-form-item prop="password">
          <el-input type="password"
                    v-model="ruleForm.password"
                    placeholder="请输入密码"
                    autocomplete="off">
          </el-input>
        </el-form-item>
        <el-form-item prop="mobile">
          <el-input type="text"
                    v-model="ruleForm.mobile"
                    placeholder="请输入手机号"
                    autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item prop="verifycode"
                      class="input_ver">
          <el-input v-model="ruleForm.verifycode"
                    placeholder="请输入验证码"></el-input>
          <v-button type="primary"
                    @click="getVerifycode">获取验证码</v-button>
        </el-form-item>
        <el-form-item>
          <v-button class="loginBtn"
                    type="primary"
                    @click="goLogin('ruleForm')">登录</v-button>
        </el-form-item>
      </el-form>

2.script

import { mapMutations } from "vuex";

export default {
  data () {
    var isvalidPhone = (rule, value, callback) => {
      const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
      if (!value) {
        return callback(new Error(this.$t('mobile')))
      } else if (!reg.test(value)) {
        return callback(new Error(this.$t('mobileCheck')))
      } else {
        callback()
      }
    }
    return {
      ruleForm: {
        account: "",
        password: "",
        mobile: "",
        verifycode: ""
      },
      rules: {
        account: [
          { required: true, message: '请输入用户名', trigger: "blur" },
          { min: 6, max: 16, message: '用户名由6-16位的英文字母数字下划线组成', trigger: "blur" }
        ],
        password: [
          { required: true, message: '请输入密码', trigger: "blur" },
          { min: 6, max: 16, message: '密码由6-16位的字母数字下划线组成', trigger: "blur" },
        ],
        mobile: [
          { validator: isvalidPhone, trigger: 'blur' }
        ],
        verifycode: [
          {
            required: true,
            message: ''验证码错误,
            trigger: "blur"
          }
        ]
      },
      isLogin: false
    };
  },
  created () { },
  methods: {
    ...mapMutations(['setToken']),

    goLogin (formName) {//点击登录
      this.$refs[formName].validate(valid => {
          fetchPost("/login", this.ruleForm).then(res => {
            console.log(res)
            if (res.code != 1) {
              this.$message.error('登录失败')
            }
            this.loginSuccess(res.data)
            this.setToken(res.data.Token)
            this.$router.replace("/home")
          });
        } else {
          this.$message('错误'))
          return false;
        }
      });
    },
    loginSuccess (data) {
      //登录成功后的处理...
    },
    getVerifycode () {
      var mobile = this.ruleForm.mobile
      if (!mobile) {
        this.$refs.ruleForm.validateField('mobile')
      } else {
        this.getMsg(mobile)
      }
    },
    getMsg (mobile) {
      console.log(mobile) //通过手机号发送短信验证      
    }
  }
};

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: ElementUI是一款基于Vue.js的组件库,提供了丰富的UI组件和交互风格。如果你想使用ElementUI实现登录和注册界面,可以按照以下步骤进行: 1. 在你的Vue.js项目中安装ElementUI组件库。 ``` npm install element-ui --save ``` 2. 在Vue.js中引入ElementUI组件库。 ```js import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 3. 创建登录和注册组件,并在组件中使用ElementUI提供的表单、输入框、按钮等组件。 ```html <template> <div> <el-form ref="loginForm" :model="loginForm" label-width="80px"> <el-form-item label="用户名"> <el-input v-model="loginForm.username"></el-input> </el-form-item> <el-form-item label="密码"> <el-input v-model="loginForm.password" type="password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="handleLogin">登录</el-button> </el-form-item> </el-form> <el-form ref="registerForm" :model="registerForm" label-width="80px"> <el-form-item label="用户名"> <el-input v-model="registerForm.username"></el-input> </el-form-item> <el-form-item label="密码"> <el-input v-model="registerForm.password" type="password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="handleRegister">注册</el-button> </el-form-item> </el-form> </div> </template> <script> export default { data() { return { loginForm: { username: '', password: '' }, registerForm: { username: '', password: '' } } }, methods: { handleLogin() { // 处理登录逻辑 }, handleRegister() { // 处理注册逻辑 } } } </script> ``` 通过使用ElementUI的表单、输入框、按钮等组件,可以快速实现一个简单的登录和注册界面。当然,具体的实现方式还需要根据你的实际需求进行调整。 ### 回答2: ElementUI 是一个基于 Vue.js 的组件库,它提供了一系列的UI组件,方便开发者轻松构建出美观、交互友好的前端界面。 ElementUI 中的登录注册界面常用于用户认证和权限控制的场景。在登录界面上,我们通常会看到输入框用于输入用户名和密码,以及登录按钮用于提交登录操作。注册界面通常包含输入框用于填写用户名、密码和确认密码,以及注册按钮用于提交注册操作。 实现 ElementUI 登录注册界面的步骤如下: 1. 引入 ElementUI 组件库:在 Vue 项目中,通过 npm 或 CDN 的方式引入 ElementUI 组件库,并根据需要注册所需组件。 2. 构建登录界面:使用 ElementUI 提供的表单组件,创建一个登录表单。可以使用 `el-form` 组件包裹输入框和提交按钮,并设置 `:model` 绑定表单数据,使用 `el-input` 组件创建用户名和密码的输入框,使用 `el-button` 组件创建登录按钮。 3. 实现登录功能:为登录按钮添加点击事件,通过发送登录请求,验证用户名和密码的正确性。可以使用 Axios 或其他网络请求库发送请求。 4. 构建注册界面:类似地,使用 ElementUI 的表单组件创建一个注册表单。使用 `el-input` 组件创建用户名、密码和确认密码的输入框,使用 `el-button` 组件创建注册按钮。 5. 实现注册功能:为注册按钮添加点击事件,通过发送注册请求,将用户名和密码保存到后台数据库中。 6. 添加表单验证:可以使用 ElementUI 提供的表单验证功能,对用户名、密码、确认密码等进行校验,确保用户输入的数据符合要求。 7. 美化界面:可以使用 ElementUI 提供的样式和主题,调整登录注册界面的颜色、字体、布局等,使其更加美观和符合项目需求。 通过上述步骤,我们就可以基于 ElementUI 创建出一个简单的登录注册界面,同时实现了用户认证和权限控制的功能。当然,根据具体的项目需求,还可以进一步扩展和优化登录注册界面。 ### 回答3: Element UI 是一个基于 Vue.js 的桌面端组件库,提供了丰富的组件和样式,便于开发者快速搭建界面。以下是一个 Element UI 的登录注册界面的实现示例。 登录界面: 使用 Element UI 的表单组件来实现登录界面。首先导入相关组件,例如 Input、Button 和 Form。然后在模板中,使用 Form 组件包裹 Input 组件,设置相应的 label 和 placeholder 属性,这样就可以创建一个用户名和密码输入框。最后使用 Button 组件实现登录按钮,绑定相应的点击事件方法。 注册界面: 注册界面也是使用 Element UI 的表单组件来实现。与登录界面类似,使用 Input、Button 和 Form 组件创建输入框和按钮。在模板中,设置注册界面需要的表单项,例如用户名、密码和确认密码,并监听表单的提交事件。在提交事件方法中,对用户输入的信息进行验证,如检查密码与确认密码是否一致等。如果验证通过,可以发送请求将用户注册信息提交到服务器。 总结: 使用 Element UI 的表单组件可以很方便地创建登录注册界面,只需要设置相应的属性和监听事件。同时,Element UI 的样式也提供了现代化的界面效果,使界面看起来更加美观和易于使用。使用 Element UI 可以极大地简化开发过程,提高开发效率。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLL_LH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值