没有模型绑定的Asp.Net MVC 5客户端验证

时间:2016-06-03 08:55:22

标签: 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="">

我的MVC View仅使用ajax请求,没有模型绑定。

我的Ajax请求在按钮点击事件中被触发。

我知道没有表单标签,html 5验证无效。

我尝试围绕输入设置表单,并阻止表单提交。

    $('#valForm').submit(function (e) {

        e.preventDefault();

    });

按钮:

<button class="button green post" type="submit">Submit</button>

但是按钮上的点击事件仍然会被触发。

  $('.button.post').on('click', function () {
    //fires
  });

如果我将按钮监听器从单击更改为提交,则不会发生任何事情。

  $('.button.post').on('submit', function () {
    // does not fire fire
  });

任何我想如何在不实际提交表单的情况下触发客户端html5验证?

由于

1 个答案:

答案 0 :(得分:0)

您可以通过多种不同方式解决此问题。我不知道您是如何定义表单/表单标签的,但是因为您发布了按钮,我可以看到为什么您的点击事件没有被捕获。你的选择器错了。

此选择器

$('.button.post')

将anthing与类按钮和类帖匹配。您的按钮没有类按钮,因此您应该将选择器更改为

$('button.post')

代替。

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

你应该得到这样的东西:

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