一、使用截图
二、快速上手
1、文件引入
- 获得 layui 后,将其完整地部署到你的项目目录(或静态资源服务器),你只需要引入下述一个文件:
./sliderVerify/sliderVerify.js
2、入门案例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" />
</head>
<body>
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">输入框</label>
<div class="layui-input-block">
<input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">滑动验证</label>
<div class="layui-input-block">
<div id="slider"></div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script src="../layui/layui.js"></script>
<script>
//一般直接写在一个js文件中
layui.config({
base: 'dist/sliderVerify/'
}).use(['sliderVerify', 'jquery', 'form'], function() {
var sliderVerify = layui.sliderVerify,
form = layui.form;
var slider = sliderVerify.render({
elem: '#slider',
onOk: function(){//当验证通过回调
layer.msg("滑块验证通过");
}
})
//监听提交
form.on('submit(formDemo)', function(data) {
if(slider.isOk()){//用于表单验证是否已经滑动成功
layer.msg(JSON.stringify(data.field));
}else{
layer.msg("请先通过滑块验证");
}
return false;
});
})
</script>
</body>
</html>
3、自定义风格样式
var slider = sliderVerify.render({
elem: '#slider',
isAutoVerify:false,//关闭自动验证
bg : 'layui-bg-red',//自定义背景样式名
text : '滑动',
onOk: function(){//当验证通过回调
layer.msg("滑块验证通过");
}
})
4、滑块重置
-
slider.reset();
支持写在 回调函数onOk
中
slider.reset();
三、实际应用(比如登录)
下面写的有点繁琐了,但大概就是这么个意思,实际情况中请尽可能测试各种可能出现的情况 >_<
- 1、在滑块验证通过函数
onOk
中使用Ajax
调用后台接口,把登录的用户名作为key
存redis
,30s
过期。如果用户名为空就点击了滑块验证,则接口报错,滑块重置slider.reset()
- 2、用户点击登录的时候,用
slider.isOk()
校验是否滑块验证了,没验证就提示需要滑块验证,验证了就请求登录接口
判断用户账号密码,如果错误,则滑块重置slider.reset()
; - 3、如果成功,则校验滑块redis是否存在:如果存在,则删除该缓存登录成功,如果不存在说明该用户缓存不存在或者已过期,页面显示返回的错误,滑块重置
slider.reset()
,重新拖动滑块校验,登录成功