首页 技术 正文
技术 2022年11月10日
0 收藏 618 点赞 3,866 浏览 1773 个字

一、前端:

1、页面标签:

<el-row :gutter="20">
<el-col :span="24">
<el-input v-model="loginForm.verificationCode" placeholder="请输入验证码" @focus="resetValidate('verificationCodeMsg')"
prefix-icon="iconfont icon-yanzhengma" @keyup.enter.native="submitForm('loginForm')" auto-complete="off" type="text">
<img slot="suffix" :src="captchaUrl" class="verificationCode" @click="changeCaptchaUrl"></img>
</el-input>
</el-col>
</el-row>

2、js代码:

data{
loginForm: {
userId: '',
password: '',
verificationCode:''
},
loginRule: {
userId: [
{validator: validateuserid, trigger: 'blur'}
],
password: [
{validator: validatePassword, trigger: 'blur'}
],
verificationCode:[
{validator: validateVerificationCode, trigger: 'blur'}
]
},
captchaUrl:'/captcha/getCaptcha'
}

几个js方法:

resetValidate: function (msgKey) {
if(this[msgKey] != ''){
this[msgKey] = '';
this.$refs['loginForm'].clearValidate();
}
},
changeCaptchaUrl:function(){
this.captchaUrl='/captcha/getCaptcha?timestamp=' + new Date().getTime()
},提交表单ajax请求参数中:
"captchaCode":self.loginForm.verificationCode,

function validateVerificationCode(rule, value, callback) {
if (value === '') {
callback(new Error('请输入验证码'));
}else {
callback();
}
}

二、java代码:

ajax请求的后台:

@RequestMapping(value = "/verifyId")
@ResponseBody
public JsonResult<Object> verifyId(String p,HttpServletRequest request) {
JsonResult<Object> json = JsonResult.getFailureResult(true);
String jsonStr=RSAEncryptUtils.decrypt(p);
JSONObject jsonObject=JSONObject.parseObject(jsonStr);
String randomStringSession=(String)request.getSession(true).getAttribute("randomString");
int loginNumInt = 0;
if(jsonObject.getString("loginNum")!= null && jsonObject.getString("loginNum")!=""){
loginNumInt = Integer.parseInt(jsonObject.getString("loginNum"));
// 错误三次及以上要验证码
if(loginNumInt >= 3 && !randomStringSession.equalsIgnoreCase(jsonObject.getString("captchaCode"))){
json.setSuccess(false);
json.setMsg("验证码错误");
return json;
}
}}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,491
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,294