layui弹出层的表单验证

layui弹出层form表单自带的验证不执行

其实没有执行那个form的那个submit方法没有执行

废话少说放代码

这是官方的弹出层

官方form表单例子

<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="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">验证必填项</label>
    <div class="layui-input-block">
      <input type="text" name="username" lay-verify="required" lay-reqtext="用户名是必填项,岂能为空?" placeholder="请输入" autocomplete="off" class="layui-input">
    </div>
  </div>
  
  <div class="layui-form-item">
    <div class="layui-inline">
      <label class="layui-form-label">验证手机</label>
      <div class="layui-input-inline">
        <input type="tel" name="phone" lay-verify="required|phone" autocomplete="off" class="layui-input">
      </div>
    </div>
    <div class="layui-inline">
      <label class="layui-form-label">验证邮箱</label>
      <div class="layui-input-inline">
        <input type="text" name="email" lay-verify="email" autocomplete="off" class="layui-input">
      </div>
    </div>
  </div>
</form>

js弹出层的例子

layer.open({
  type: 1,
  title: false,
  closeBtn: 0,
  btn: ['提交', '取消'],
  shadeClose: true,
  skin: 'yourclass',
  content: '#layui-form'
});

接下来如何让弹出层执行form验证规则

因为我们点击弹出层,就要执行弹出层的回调方法,
在回调 success 方法中把 弹出层的 btn 添加submit。 让其点击按钮时 执行form提交功能

layer.open({
  type: 1,
  title: false,
  closeBtn: 0,
  btn: ['提交', '取消'],
  shadeClose: true,
  skin: 'yourclass',
  content: '#layui-form'success: function(layero, index){
       // 添加form标识
       layero.addClass('layui-form');
       // 将保存按钮改变成提交按钮
       layero.find('.layui-layer-btn0').attr({
           'lay-filter': '事件名',
           'lay-submit': ''
       });
       form.render();
  }

});

现在弹出层就有了可以验证表单的功能了

但是这个提交并不完整依旧有问题,只是部分验证有用,表单验证没有验证数据直接提交到后端去,接下如何如何优化呢?

找到btn 确认按钮的回调方法 把form方法直接写在 yse 的回调方法中去

layer.open({
  type: 1,
  title: false,
  closeBtn: 0,
  btn: ['提交', '取消'],
  shadeClose: true,
  skin: 'yourclass',
  content: '#layui-form'success: function(layero, index){
       // 添加form标识
       layero.addClass('layui-form');
       // 将保存按钮改变成提交按钮
       layero.find('.layui-layer-btn0').attr({
           'lay-filter': '事件名',
           'lay-submit': ''
       });
       form.render();
  }yes: function(index, layero){
    form.on('submit(事件名)', function(data){
   
}
  }

});```

这样才算完美的

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故人重来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值