elementUI之不会用

form表单注意事项



html 复制代码
<template>
    <div class="container">
        <el-form :model="form" label-width="80px" :rules="RulesName" ref="loginForm">
            <el-form-item label="姓名" prop="username">
                <el-input v-model="form.username"></el-input>
            </el-form-item>
            <el-form-item label="密码" prop="password">
                <el-input v-model="form.password"></el-input>
            </el-form-item>
            <el-form-item label="确认密码" prop="confirm">
                <el-input v-model="form.confirm"></el-input>
            </el-form-item>
            <el-form-item label="">
                <el-button type="primary" @click="onsubmit()">login</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script>
export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: 'test',
  data () {
    // 注意:必须在data函数里定义此箭头函数,才能确保this.from使用
    const samePwd = (rule, value, callback) => {
      if (value !== this.form.password) {
        // 如果验证失败,则调用 回调函数时,指定一个 Error 对象。
        callback(new Error('两次输入的密码不一致!'))
      } else {
        // 如果验证成功,则直接调用 callback 回调函数即可。
        callback()
      }
    }
    return {
      form: {
        username: '',
        password: '',
        confirm: ''
      },
      RulesName: {
        username: [
          { required: true, message: '请输入', trigger: 'blur' },
          {
            pattern: /^[a-zA-Z0-9]{1,10}$/,
            message: '用户名必须是1-10的大小写字母数字',
            trigger: 'blur'
          }
        ],
        passwordRule: [
          { required: true, message: '请输入', trigger: 'blur' },
          { min: 3, max: 5, message: '长度3-5', trigger: 'blur' }
        ],
        confirm: [
          { required: true, message: '请输入', trigger: 'blur' },
          {
            pattern: /^[a-zA-Z0-9]{1,10}$/,
            message: '用户名必须是1-10的大小写字母数字',
            trigger: 'blur'
          },
          { validator: samePwd, trigger: 'blur' }
        ]
      }
    }
  }
}
</script>

前后端数据交互

可以数据交互了,那就使用axios ,那么在此直接使用axios真的好吗?

答:肯定不行

我们每次发起一个http请求都要写基地址(如:http://localhost:8080)那就重复切烦人

如果基地址变化了也很烦人

而且我们发请求需要携带一些token的,每次发起请求都要携带,那也很烦人

so需要对axios进行封装

相关推荐
Martin -Tang22 分钟前
vite和webpack的区别
前端·webpack·node.js·vite
迷途小码农零零发23 分钟前
解锁微前端的优秀库
前端
王解1 小时前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
老码沉思录1 小时前
写给初学者的React Native 全栈开发实战班
javascript·react native·react.js
我不当帕鲁谁当帕鲁1 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂1 小时前
工程化实战内功修炼测试题
前端·javascript
放逐者-保持本心,方可放逐2 小时前
微信小程序=》基础=》常见问题=》性能总结
前端·微信小程序·小程序·前端框架
毋若成4 小时前
前端三大组件之CSS,三大选择器,游戏网页仿写
前端·css
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
Black蜡笔小新5 小时前
网页直播/点播播放器EasyPlayer.js播放器OffscreenCanvas这个特性是否需要特殊的环境和硬件支持
前端·javascript·html