lay-verify 无效

使用lay-verify有两个需要注意的地方:

  • form标签需要添加 class="layui-form"
  • 提交按钮需要添加 lay-submit=""

如:

<form action="#" method="post" class="layui-form"> <input id="login-username" type="text" name="username" placeholder="Username" lay-verify="required|username"> <input id="login-password" type="password" name="password" placeholder="Password" lay-verify="required|password"> <input class="layui-btn layui-btn-fluid layui-btn-normal " lay-submit="" type="button" value="Login" lay-filter="login-submit"> </form>

JS部分:

<script type="text/javascript">
layui.use(['layer', 'form'], function () {
var layer = layui.layer;
var form = layui.form;
form.verify({
username: function (value, item) {
//value:表单的值、item:表单的DOM对象
if (!new RegExp("^(.+){4,18}$").test(value)) {
return '用户名长度必须为4-18位'
}
if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
return '用户名不能有特殊字符';
}
if (/(^\_)|(\__)|(\_+$)/.test(value)) {
return '用户名首尾不能出现下划线\'_\'';
}
if (/^\d+\d+\d$/.test(value)) {
return '用户名不能全为数字';
}
},
password: [
/^[\S]{6,18}$/,
'密码必须6到12位,且不能出现空格'
],
confirm_password: function (value) {
if (!new RegExp("^[\\S]{6,18}$").test(value)) {
return '密码长度必须为6-18位'
}
if (value !== $('#login-password').val()) {
return '两次输入的密码不一致';
}
}
}); form.on('submit(login-submit)', function (data) {
var login_username = $("#login-username");
var login_password = $("#login-password");
var username = login_username.val();
var password = login_password.val();
password = md5(password); $.ajax({
url: "/XXX/login/",
type: "POST",
data: {
username: username,
password: password,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
async: false,
success: function (data) {
var status = data.status;
if (status === 0) {
$("#myModal").modal('hide');
layer.msg("Login Success!", {offset: '200px'});
// todo something after login
} else if (status === 21) {
// user not exist
layer.msg(data.msg, {offset: '200px'});
login_username.val("");
login_password.val("");
login_username.focus();
} else if (status === 22) {
// wrong password
layer.msg(data.msg, {offset: '200px'});
login_password.val("");
login_password.focus();
} else {
layer.msg(data.msg, {offset: '200px'});
}
},
error: function () {
layer.msg("System Service Busy!", {offset: '200px'});
}
});
return false;
});
});
</script>

lay-verify 无效的更多相关文章

  1. MFC程序中使用调试宏ASSERT()、ASSERT_VALID()、VERIFY()和TRACE()的区别

    其实这篇文章说的很明白了:http://dev.gameres.com/Program/Other/DebugMacro.htm 结论如下: 1.ASSERT()测试它的参数,若参数为0,则中断执行并 ...

  2. ASSER、VERIFY、TRACE详解

    ASSERT()被测试它的参数,如果参数为零,则中断执行并打印一段说明消息.在Release版本的程序中它不起任何作用. ASSERT()使用的时候必须保证参数表达式中不能有函数调用,因此对于任何有函 ...

  3. 在非MFC程序中使用调试宏 ASSERT(),VERIFY()和 TRACE()

    游戏制作已经开始采用C++了,却鲜有人选择使用MFC.但笔者觉得的 ASSERT(),VERIFY()和 TRACE()这几个宏很好用.所以就想自己写一个版本来适应Windows平台下不同的工程类型. ...

  4. oracle compile 编译无效对象

    原博主:http://blog.csdn.net/tianlesoftware/article/details/4843600 Applies to: Oracle Server - Enterpri ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. jQuery.Ajax IE8 无效(CORS)

    今天在开发的时候,遇到一个问题,$.get()在 IE8 浏览器不起作用,但 Chrome,Firefox 却是可以的,网上资料很多,最后发现是 IE8 默认不支持 CORS 请求,需要手动开启下: ...

  7. IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页

    因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...

  8. 针对Linux ASP.NET MVC网站中 httpHandlers配置无效的解决方案

    近期有Linux ASP.NET用户反映,在MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404(找不到网页) ...

  9. 修改linux的hosts 后提示“无效的参数”

    碰到个问题,修改linux的主机名问题. vim /etc/hosts 192.168.154.129 129192.168.154.132 132192.168.154.133 133 本地ip是1 ...

随机推荐

  1. API响应

    保证API响应的正确性,就是你需要做的大部分工作.postman的response viewer部分会协助你完成该工作且使其变得简单. 一个API的响应包含body,headers,响应状态码.pos ...

  2. 2018-2019-2 《网络对抗技术》Exp6 信息搜集与漏洞扫描 20165326

    信息搜集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 基础知识 间接:不接触目标,无直接连接访问,使用辅助模块进行收集分析 DNS:执行各种相关查询 搜索引擎 直接:建立逻辑连 ...

  3. docker info 警告"WARNING: No swap limit support"

    vim/etc/default/grub 找到 GRUB_CMDLINE_LINUX="" 在双引号里面输入cgroup_enable=memory swapaccount=1 然 ...

  4. TCP长连接与短连接、心跳机制

    1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...

  5. 浅谈ES6新增数据类型:Symbol

    面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...

  6. 我的第一篇博客:vue-cli配置项目

    注意:在安装vue-cli之前一定要确保安装了node和vue 安装配置node:下载node(https://nodejs.org/en/)然后一路无脑安装 查看安装是否成功:node –versi ...

  7. QWaitCondition 的思考2

    本文章为原创,如引用请指明出处 问:QWaitCondition的 wake() ,wakeall() 函数唤醒的是哪些线程呢? 是不是在全局范围内该类的各个对象造成的悬挂线程都可以被唤醒呢? 回答: ...

  8. Winscp无法连接linux虚拟机解决

    之前需要从主机传文件到虚拟机上,安装了vmware tools,拖拽文件后发现文件总是会损坏一些,查了一下,使用Winscp就不会出现这个问题. 安装好后配置连接:(Centos7) 打开虚拟机,找到 ...

  9. Tomcat生成的session持久化到MySQL

    Telling Tomcat to save session records in MySQL 此部分内容摘自 MySQL cookbook 3th.具体内容不做翻译,哈哈,懒 The default ...

  10. css flex方法标题左右两边平衡线

    <html> <div class="title"> <div class="line"></div> < ...