Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无模型绑定的Asp.NETMVC5客户端验证_Asp.net_Asp.net Mvc_Validation - Fatal编程技术网

无模型绑定的Asp.NETMVC5客户端验证

无模型绑定的Asp.NETMVC5客户端验证,asp.net,asp.net-mvc,validation,Asp.net,Asp.net Mvc,Validation,我在mvc视图中有以下输入 <input class="input-group-field" id="name" name="name" type="text" size="1" required=""> <input class="input-group-field" id="email" name="email" type="email" size="1" required=""> 按钮: <button class="button green post"

我在mvc视图中有以下输入

 <input class="input-group-field" id="name" name="name" type="text" size="1" required="">
 <input class="input-group-field" id="email" name="email" type="email" size="1" required="">
按钮:

<button class="button green post" type="submit">Submit</button>
如果我将按钮从单击更改为提交,则不会发生任何事情

  $('.button.post').on('submit', function () {
    // does not fire fire
  });
我知道如何在不提交表单的情况下触发客户端html5验证吗


谢谢

您可以用几种不同的方法解决这个问题。我不知道你是如何定义你的表单/表单标签的,但是自从你发布了你的按钮后,我就明白为什么你的点击事件没有被捕获。你的选择器错了

这个选择器

$('.button.post')
与类按钮和类帖子匹配。但是,您的按钮没有类按钮,因此您应该将选择器更改为

$('button.post')
相反

更新:我重读了你的帖子。看起来你的按钮处理程序已经被解雇了,这意味着你在这里发布问题时可能输入了错误。您还希望在不使用页面的情况下触发html5验证

你应该以这样的方式结束:

$('form').on("submit", function(e) {
  e.preventDefault();
});

你可以用几种不同的方法来解决这个问题。我不知道你是如何定义你的表单/表单标签的,但是自从你发布了你的按钮后,我就明白为什么你的点击事件没有被捕获。你的选择器错了

这个选择器

$('.button.post')
与类按钮和类帖子匹配。但是,您的按钮没有类按钮,因此您应该将选择器更改为

$('button.post')
相反

更新:我重读了你的帖子。看起来你的按钮处理程序已经被解雇了,这意味着你在这里发布问题时可能输入了错误。您还希望在不使用页面的情况下触发html5验证

你应该以这样的方式结束:

$('form').on("submit", function(e) {
  e.preventDefault();
});

添加按钮列表实际上现在不需要按钮事件,因为按钮的类型是
submit
,它将自动提交表单而不附加按钮事件。按钮的submit事件不起作用,因为submit只适用于
表单
,所以我应该将ajax请求放在表单提交处理程序中?如果表单无效,我如何阻止这些操作呢?因此这里的难点是,既然您已经阻止了提交的默认行为,那么您需要自己实现它(使用ajax或任何可以向web服务器发送请求的处理程序)。是的,把你的ajax放在那里,如果表单无效,添加条件,不要触发ajax。Html5验证首先在提交事件触发之前生效,因此无需担心:)是的,您的思路正确,先生:)或者您可以添加更多Html5验证,这样您就不会在JavaScipTad中再次重新验证按钮列表实际上现在不需要按钮事件,因为您的按钮类型是
submit
它将自动提交表单而不附加按钮事件。按钮的submit事件不起作用,因为submit只适用于
表单
,所以我应该将ajax请求放在表单提交处理程序中?如果表单无效,我如何阻止这些操作呢?因此这里的难点是,既然您已经阻止了提交的默认行为,那么您需要自己实现它(使用ajax或任何可以向web服务器发送请求的处理程序)。是的,把你的ajax放在那里,如果表单无效,添加条件,不要触发ajax。Html5验证首先在提交事件触发之前生效,因此无需担心:)是的,您走对了,先生:)或者您可以添加更多Html5验证,这样您就不会在JavaScipt中再次重新验证抱歉,我没有复制实际按钮,有一个按钮类Yeah ok-试试我修改过的提交处理程序-注意选择器是'form',它将捕获任何表单提交…很抱歉我没有复制实际的按钮,有一个按钮类Yeah ok-试试我修改过的提交处理程序-注意选择器是'form',它将捕获任何表单提交。。。