![Vue.js 3企业级项目开发实战(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/500/52842500/b_52842500.jpg)
上QQ阅读APP看书,第一时间看更新
3.3 登录表单数据进行合法性验证
![](https://epubservercos.yuewen.com/313864/31398258607654606/epubprivate/OEBPS/Images/Figure-P31_74985.jpg?sign=1739517247-Lde6aEQO8BEa7QBKCN3YomiWTHrfWhz0-0-470abf3499f11ca1c628289b171d98ba)
接下来进入登录的前后端交互处理,从客户端提交用户名和密码,登录成功可获取token信息。
登录功能实现步骤如下。
(1)对客户端提交的表单数据进行合法性验证。
(2)调用API,实现数据交互。
(3)实现本地存储,保存token信息。
下面实现第(1)步,即对表单数据进行合法性验证,需要验证用户名、密码文本框和登录按钮。
首先验证用户名和密码是否合法,并且字符串的长度为6~15位,Element Plus提供了完整的验证规则,数据层示例代码如下。
![](https://epubservercos.yuewen.com/313864/31398258607654606/epubprivate/OEBPS/Images/Figure-P32_125448.jpg?sign=1739517247-dxCBJ00NUXBwCpUx971z1VRDebakhy7h-0-12b6926ac60feb3203135517e1319c24)
视图层示例代码如下。
![](https://epubservercos.yuewen.com/313864/31398258607654606/epubprivate/OEBPS/Images/Figure-P32_125449.jpg?sign=1739517247-VJsNtz48ubP354w0K1tvv0fYwr4T8r17-0-9f4405a1dec1cd1fbacaca14cce67307)
代码解析:
为el-form添加ref、:model、:rules属性,其中ref属性用于获取表单DOM元素,:model属性用于设置用户名和密码的数据源,:rules属性用于设置验证规则。
打开登录页面,当用户名为空,密码为123时,验证结果如图3-3所示。
![](https://epubservercos.yuewen.com/313864/31398258607654606/epubprivate/OEBPS/Images/Figure-P33_75199.jpg?sign=1739517247-fRCmUts3XI0d3Fe5FoPWHD5X3oklxEsr-0-8ec21029fa5f4662a112fcc00738e0c3)
图3-3
至此,验证用户名和密码是否合法已经完成。接下来是对“登录”按钮的验证,即当用户单击“登录”按钮时,首先触发验证规则,所有的验证规则通过进入第(2)步调用API实现数据交互,登录验证示例代码如下。
![](https://epubservercos.yuewen.com/313864/31398258607654606/epubprivate/OEBPS/Images/Figure-P33_125450.jpg?sign=1739517247-yr8Pu1n8StQPEzeoCz3i0no6xY6ryPNl-0-faf46e086d6c4ec961033903b45edab0)
代码解析:
单击“登录”按钮调用loginHandle()方法,在loginHandle()方法中调用form表单提供的validate()方法对整个表单数据进行校验,当所有的验证规则通过,isValid的值为true;只要有一个验证规则不通过,isValid的值均为false。上述代码表示如果isValid的值为false,则终止程序。