Layui表单自定义校验(确认密码、用户已存在)

描述

layui中像输入长度、大小写这样的自定义校验,官方文档中应该很容易看懂的。

这里说两个常用的:注册时的确认密码校验;注册时用户已存在校验。

实施

1、确认密码

html:

<div class="layui-form-item">
  <div class="layui-inline">
	<label class="layui-form-label">登录密码</label>
	<div class="layui-input-inline">
	  <input type="password" name="password"  lay-verify="required" class="layui-input">
	</div>
  </div>
  <div class="layui-inline">
	<label class="layui-form-label">确认密码</label>
	<div class="layui-input-inline">
	  <input type="password" lay-verify="required|confirmPass" class="layui-input">
	</div>
  </div>
</div>

 js:

// 校验两次密码是否一致
form.verify({
    confirmPass:function(value){
        if($('input[name=password]').val() !== value)
            return '两次密码输入不一致!';
    }
});

2、用户已存在

html:

<div class="layui-form-item">
    <label class="layui-form-label">用户Id</label>
    <div class="layui-input-inline">
        <input type="text" name="userId"  lay-verify="required|isExist" class="layui-input">
    </div>
</div>

js:

form.verify({
    isExist:function(value){
        var params = {"userId":value };
        var data;
        $.ajax({
            url: ...,
            contentType: "application/json",
            dataType:'json',
            type: "post",
            async: false,
            data: JSON.stringify(params),
            success: function(result) {
                data = result.flag;

            },

        });
        if (data.flag) {
            return '用户id已存在';
        }

    }
});

结语

layui校验不友好的是在点击提交时才给出提示。

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,关于 layui 表单校验,你可以参考以下代码: ```html <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="username" 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"> <input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"> </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> //JavaScript代码区域 layui.use('form', function(){ var form = layui.form; //监听提交 form.on('submit(formDemo)', function(data){ layer.msg(JSON.stringify(data.field)); return false; }); }); </script> ``` 其中,`lay-verify` 属性用于指定校验规则,`required` 表示必填项。在 JavaScript 中,我们可以通过 `form.verify()` 方法来自定义校验规则。例如: ```javascript //自定义校验规则 form.verify({ username: function(value, item){ //value:表单的值、item:表单的DOM对象 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,12}$/,'密码必须6到12位,且不能出现空格'] }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值