layerui表单验证 明明自定义了提示文字 还是显示默认的 必填项不能为空 求指教

提问 已结 11 992
小糊涂蛋是个
悬赏:20飞吻
版本:layui 浏览器:


<input type="text" lay-verify="required|names" autocomplete="off" class="layui-input" id="name" name="name">
<input type="text" lay-verify="required|pwds" autocomplete="off" class="layui-input" id="pwd" name="pwd">
回帖
  • IDyun
    2019-9-11
    没问题啊
    https://www.layui.com/demo/
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>layui</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="//res.layui.com/layui/dist/css/layui.css" media="all">
    <!-- 注意:如果你直接复制所有代码到本地,上述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" lay-verify="names" autocomplete="off" placeholder="请输入标题" class="layui-input">
    </div>
    </div>
    <div class="layui-form-item">
    <div class="layui-input-block">
    <button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
    </div>
    </form>


    <script src="//res.layui.com/layui/dist/layui.js" charset="utf-8"></script>
    <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
    <script>
    layui.use(['form', 'layedit', 'laydate'], function(){
    var form = layui.form
    //自定义验证规则
    form.verify({
    names: function(value){
    if(value.length == 0){
    return '不能为空';
    }
    }

    });
    //监听提交
    form.on('submit(demo1)', function(data){
    layer.alert(JSON.stringify(data.field), {
    title: '最终的提交信息'
    })
    return false;
    });
    });
    </script>

    </body>
    </html>
    0 回复
  • IDyun
    2019-9-11
    去掉 lrequired 改成下面
    lay-verify="names"
    0 回复
  • @IDyun <input type="text" required lay-verify="names" autocomplete="off" class="layui-input" id="name" name="name"> 我改成你这样 直接不验证 提交成功了
    0 回复
  • @IDyun 我把你代码原封不动占下来的 运行 不弹提示 我要疯了 吼吼
    0 回复
  • @IDyun
    什么都不显示
    0 回复
  • IDyun
    2019-9-11
    你这样是from表单默认的提交方式的问题,网上有很多阻止的方法。
    layui 的就是 返回一个 return false;
     //监听提交
    form.on('submit(demo1)', function(data){

    return false;
    });
    0 回复
  • @IDyun 找到问题了 if(value.length == 0){} 加上这个就不提示 这个value==“” 也不提示 这个value 应该怎么判断他为空呢?
    0 回复
  • @IDyun 不加条件直接return “不能为空” 就能弹出
    0 回复
  • @IDyun 找到原因了 value.length == 0 空的时候 value.length == 1 我说等于0 怎么不显示 纳闷他怎么会等于1 呢 反正现在是弹了倒是
    0 回复
  • value.replace(/\s*/g, "").length == 0 原来input 里面有空格 默认进来就多了一个字符
    0 回复