lay-verify 无效

2023-10-29

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>
<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lay-verify 无效 的相关文章

  • 【Linux】TCP相关实验验证

    Linux 博客主页 一起去看日落吗 分享博主的在Linux中学习到的知识和遇到的问题 博主的能力有限 出现错误希望大家不吝赐教 分享给大家一句我很喜欢的话 看似不起波澜的日复一日 一定会在某一天让你看见坚持的意义 祝我们都能在鸡零狗碎里找

随机推荐

  • 2018年最应该关注的11个vue.js组件库

    根据最近的React库和Angular库的列表发展情况 2018年 这里统计有11个常用的vue js组件库 它们最有可能出现在你的下一个vue js应用程序的UI中 Vue js React and Angular NPM 2017下半年
  • 华为OD机试真题-垃圾短信识别【2023Q1】

    题目描述 大众对垃圾短信深恶痛绝 希望能对垃圾短信发送者进行识别 为此 很多软件增加了垃圾短信的识别机制 经分析 发现正常用户的短信通常具备交互性 而垃圾短信往往都是大量单向的短信 按照如下规则进行垃圾短信识别 本题中 发送者A符合以下条件
  • 毕业季:女生IT就业指南

    我们在判定职位前途的时候 要从以下两个方面入手 1 门槛较低 但上限天花板要高 2 市场广阔 发展潜力要大 根据这两个准则 我得到了一个结论 自媒体将成为未来比较受欢迎的职业 或者说整个互联网行业 1 UI设计 UI设计非常注重细节和美感
  • 服务器数据库查看版本信息,查看服务器的数据库版本信息

    查看服务器的数据库版本信息 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 GaussDB for MySQL 全兼容My
  • 如何解决谷歌云盘wget无法下载大文件的问题

    如何解决谷歌云盘wget无法下载大文件的问题 wget指令 大文件 小文件 wget指令 最近在用谷歌云盘下载较大的数据集的时候 发现常常因为下载文件过大 无法直接用wget下载 多方查找资料之后确定了一个可行的路径 分享给大家 也作为记录
  • centos8.2+Tesla T4搭建深度学习运行环境

    因为工作需要 租借了腾讯云服务器 购买的配置是centos 8 2系统 512G的存储空间 另外显卡是Tesla T4 20核CPU 80G内存 在此基础上搭建深度学习的运行环境 将要安装pytorch和tensorflow开发框架 1 安
  • C# dll代码混淆加密

    目录 一 需求 二 用法 1 新建C 项目 2 开始加密 3 常见的错误 4 添加加密规则 5 导出加密dll 6 调用加密dll 结束 一 需求 C 项目生成 dll 在反编译工具下 好比皇帝的新装 dll 内部的代码看的一清二楚 在这里
  • 【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)

    用 Python实现 文字PK 小游戏 前言 明确项目目标 分析过程 拆解项目 逐步执行 代码实现 版本1 0 自定属性 人工PK 版本2 0 随机属性 自动PK 版本3 0 打印战果 三局两胜 前言 我想先和你谈谈一个项目一般是怎么完成的
  • Bootstarp入门教程(4) 排版(1)

    1 标题 HTML中的所有标题标签 从 h1 到 h6 均可用 div class container div class row h1 h1 Bootstrap heading h1 h2 h2 Bootstrap heading h2
  • pkg-config 编译安装

    由于大部分的开源工程都需要用到pkg config 因此今天在这讲解一下pkg config for mac 安装过程 1 检测环境是否已安装pkg config 再命令行中输入 pkg config 若未安装 则提示命令未找到 2 安装p
  • CentOS 7安装DastDfs

    1 安装gcc 编译时需要 FastDFS是C语言开发 安装FastDFS需要先将官网下载的源码进行编译 编译依赖gcc环境 如果没有gcc环境 需要安装gcc yum install y gcc gcc c 2 安装libevent 运行
  • 文件包含漏洞学习

    一 文件包含简介 开发人员都希望代码更加灵活 所以通常会将被包含的文件设置为变量 用来进行动态调用 正是这种灵活性 从而导致客户端可以调用一个恶意文件 造成文件包含漏洞 1 文件包含函数 PHP中文件包含函数有以下四种 require re
  • H5 Canvas与SVG的比较

    转载 https www w3school com cn html5 html 5 canvas vs svg asp 两者都能够在在浏览器中绘图 但两者之间还是不一样的 Canvas 通过Javascript来绘制2D图形 是逐像素进行渲
  • STM32HAL库和STC51同时操作多个IO口

    STM32同时将PC13 PC14 PC15拉低 拉高 根据 define GPIO PIN 13 uint16 t 0x2000U Pin 13 selected define GPIO PIN 14 uint16 t 0x4000U P
  • R语言注意事项列表

    R语言注意事项列表 R语言是一种功能强大且广泛使用的编程语言 特别适用于数据分析和统计建模 在使用R语言进行编程和数据处理时 以下是一些需要注意的事项 以帮助您更有效地使用该语言 使用合适的注释 在编写R代码时 使用注释来解释代码的功能和目
  • 分别用 VTK 体绘制和面绘制来实现医学图像三维重建

    关注公众号 小张Python 为你准备了 50 本Python 精品电子书籍 与 50G 优质视频学习资料 后台回复关键字 1024 即可获取 如果对博文内容有什么疑问 后台添加作者 个人微信 可与作者直接进行交流 序言 VTK介绍 VTK
  • win10自带输入法微软拼音切换简体繁体

    ctrl shift f
  • 用Python自动生成Excel报表

    在日常工作中 可能会有一些重复无聊的任务 比如说 从 Excel 或数据库中收集一些数据 设置相应的数据格式并做成报表 类似这种重复无聊的任务 我们完全可以交给 Python 去自动完成 只要第一次把 Python 代码写好 以后就可以一键
  • java 一点小小的体会

    云应用的大量应用 使得网络资源得到高效利用 云开放平台的大量使用 使得我们的个人应用及数据存储有一个新的发展 你的个人数据可以存储在云上 这样你可以节省了你的资源 当我们使用时可以随时存取 不用一次次加大你的硬盘 我们可以把自己的应用部署在
  • lay-verify 无效

    lay verify 无效 使用lay verify有两个需要注意的地方 form标签需要添加 class layui form 提交按钮需要添加 lay submit 如