9.1正则校验,发送请求

本文介绍如何在Vue项目中实现登录表单的验证功能,包括正则表达式的使用及请求接口的设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则

1.1首先,因为我们把v-model="username"改成了,改成了mobile,所以,就把下面数据中的return,改成mobile和code,然后,为了避免后续数据太多混乱了,就可以用info包裹一下

在组件使用了这个变量 我们一定要现在data中申明这个变量 vant组件有申明这个变量的代码 但是我们要做一些改动

在这里插入图片描述

1.2接下来就声明一个rules变量,再把上面的mobile和code的rules放到下面的rules中去

如果我们直接在template标签内写rule规则 会页面分工不清晰 所以我们定义一个变量来阐述校验规则

在这里插入图片描述

1.3接下来我们写正则校验规则

我们已经把rules规则移动到script标签内 那个现在要继续在这个校验数组里添加校验规则 因为我们用的是正则校验 那么就要用pattern属性

在这里插入图片描述

在这里插入图片描述

<template>
<div>
  <van-nav-bar title="登录"/>

<van-form @submit="onSubmit">
  <van-field
    v-model="info.mobile"
    label="手机号"
    placeholder="请输入手机号"
    :rules="rules.mobile"
  />
  <van-field
    v-model="info.code"
    label="验证码"
    placeholder="请输入验证码"
    :rules="rules.code"
  />
  <div style="margin: 16px;">
    <van-button round block type="info" native-type="submit">登录</van-button>
  </div>
</van-form>

</div>

</template>

<script>
export default {
   data() {
    return {
      info:{
        mobile:'',
        code:''
      },
      rules:{
        // 手机号的规则
        mobile:[
          // required:表示是否必填
          // message:如果没有满足规则,弹出来的提示
          { required: true, message: '请填写用户名' },
          // 用来验证输入的是不是手机号
          // ^匹配输入字符串的开始位置
          // $匹配输入字符串的结尾位置
          // [3-9]匹配3-9之间的字符
          // {n}是一个非负整数
          //\d查找数字字符
          { pattern:/^1[3-9]\d{10}$/,message:'请输入正确的手机号'}
        ],
        // 验证码的规则
        code:[
          { required: true, message: '请填写验证码' },
          { pattern:/^\d{6}$/,message:'请输入正确的验证码'}
        ]
      }
    };
  },
}
</script>

<style>

</style>

在这里插入图片描述

现在如果少输入手机号,或者手机号是12开头都会提示输入错误就算完成了表单验证部分
然后当用户输入了正确手机号和验证码 通过了表单验证 就要发送请求了 这个请求还必须携带两个参数(用户输入的手机号和验证码)

发送请求

2.1首先创建专门写请求的文件夹
在这里插入图片描述

2.2因为我们之前已经下载过axios了,所以现在可以直接导入
在这里插入图片描述

2.3把接口地址放进来,再根据提示补齐代码
YAPI接口文档地址
在这里插入图片描述

在这里插入图片描述

2.4这个函数里需要传入两个参数
然后把这个请求封装成一个函数

import request from "@/utils/request";

(monile,code) =>{
    return request({
        url:'/v1_0/authorizations',
        method:'post',
        data:{
            mobile:'',
            code:''
        }
    })
    
}

因为需要传入的这两个参数,都放在data数据里,所以可以直接申明需要的数据是data,简写为

import request from "@/utils/request";

(data) => {
    return request({
        url:'/v1_0/authorizations',
        method:'post',
        data
    })
    
}

2.5最后就是暴露出去

// 导入了设置基地址的请求对象
import request from "@/utils/request";

//  封装并暴露一个登陆请求
export const login = (data) => {
    return request({
        url:'/v1_0/authorizations',
        method:'post',
        data
    })
    
}

2.6使用
2.6.1在api文件夹中新建index.js文件

// 导入use文件夹
import { login } from "./use";

// 封装并暴露出去
export const loginAPI = login;

2.6.2去login的index.vue文件中使用
在这里插入图片描述

实际上是‘@/api/index.vue’,但是可以省略为‘@/api’

总结:
首先是utils/request.js文件导入了axios,调用了axios方法,并且暴露了一个变量requset
然后在这个src/api/login这个文件里,导入了request,然后封装了登陆请求函数login,把这个函数又暴露出去了
然后src/api/index.js,定义了一个变量loginAPI接收了login函数 ,再暴露出去
最后在views/login/index.vue文件里,接收了loginAPI变量函数

2.7后面就是写方法(在src/views/login/index.vue中)

<script>
import { loginAPI } from "../../api"

export default {
   data() {
    return {
      info:{
        mobile:'',
        code:'',
      },
      rules:{
        // 手机号的规则
        mobile:[
          { required: true, message: '请填写用户名' },
          { pattern:/^1[3-9]\d{9}$/,message:'请输入正确的手机号'}
        ],
        // 验证码的规则
        code:[
          { required: true, message: '请填写验证码' },
          { pattern:/^\d{6}$/,message:'请输入正确的验证码'}
        ]
      }
    };
  },
  methods: {
  //因为是异步,所以要写async,await方法包裹这个函数,并且定义一个变量res接收请求发送成功的内容
    async onSubmit() {
      let res = await loginAPI({
        mobile:this.info.mobile,
        code:this.info.code
      });
      console.log(res);
    },
  },
}
</script>

在这里插入图片描述
这样就成功了,验证码是246810

在 Rocky Linux 系统中,结合 Postfix 邮件服务器和 Dovecot 作为 IMAP 和 POP3 服务,设置邮件发送的过程需要几个步骤: 1. **安装依赖软件**: - 更新系统包列表安装所需组件: ``` sudo yum update -y sudo yum install postfix dovecot-imapd dovecot-pop3d ``` 2. **配置 Postfix 主机名和域**: - 打开 `/etc/postfix/main.cf` 文件,添加或修改主机名和域名信息: ``` myhostname = yourdomain.com mydomain = yourdomain.com myorigin = $mydomain ``` 3. **创建电子邮件帐户**: 使用 `sudo useradd` 命令创建新用户,设置相应的密码。例如: ``` sudo useradd emailuser -m sudo passwd emailuser ``` 4. **编辑 Postfix 用户映射**: - 编辑 `/etc/postfix/usermap.conf`,将新用户的主目录路径添加到`maildrop`变量中。 5. **配置 Postfix 发送限制**: - 可能需要启用 `smtp_sasl_auth_enable` 和 `smtp_use_tls` 来增加安全性,然后设置授权文件路径。 6. **启动配置 SASL**: - 安装 `cyrus-sasl-md5` 或其他所需的SASL模块。运行 `sudo saslpasswd2 -u smtp -c localhost emailuser password` 设置SMTP登录密码。 7. **配置 Dovecot**: - 修改 `/etc/dovecot/conf.d/10-auth.conf`,允许通过Postfix的认证: ``` auth_mechanisms = plain login disable_plaintext_auth = no ``` 8. **更新和重启服务**: - 更新配置文件后,重启 Postfix 和 Dovecot 服务: ``` sudo systemctl restart postfix sudo systemctl restart dovecot-imapd sudo systemctl restart dovecot-pop3d ``` 9. **测试**: - 使用命令行工具如 `telnet` 测试发送邮件,或者通过电子邮件客户端连接IMAP/POP3验证能否正常发收邮件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值