为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不通过jQuery提交的情况下强制执行html5表单验证

如何在不通过jQuery提交的情况下强制执行html5表单验证

慕的地10843 2019-07-23 19:11:45
如何在不通过jQuery提交的情况下强制执行html5表单验证我在我的应用程序中有这个表单,我将通过AJAX提交它,但我想使用HTML5进行客户端验证。所以我希望能够通过jQuery强制进行表单验证。我想在不提交表单的情况下触发验证。可能吗?
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这是一个更通用的方式,有点清洁:

像这样创建你的表单(可以是一个什么都不做的虚拟表单):

<form class="validateDontSubmit">...

绑定您不想提交的所有表单:

$(document).on('submit','.validateDontSubmit',function (e) {
    //prevent the form from doing a submit
    e.preventDefault();
    return false;})

现在假设你有一个<a>(在...内<form>)点击你想验证表格:

$('#myLink').click(function(e){
  //Leverage the HTML5 validation w/ ajax. Have to submit to get em. Wont actually submit cuz form
  //has .validateDontSubmit class
  var $theForm = $(this).closest('form');
  //Some browsers don't implement checkValidity
  if (( typeof($theForm[0].checkValidity) == "function" ) && !$theForm[0].checkValidity()) {
     return;
  }

  //if you've gotten here - play on playa'});

这里很少有笔记:

  • 我注意到你不必实际提交表单进行验证 - 调用checkValidity()就足够了(至少在chrome中)。如果其他人可以在其他浏览器上添加测试这个理论的评论,我会更新这个答案。

  • 触发验证的事情不一定要在<form>。这只是一种干净灵活的通用解决方案。


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 858 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信