尽管asp.NETMVC4验证失败,jQueryPost仍然会通过

尽管asp.NETMVC4验证失败,jQueryPost仍然会通过,asp.net,asp.net-mvc,jquery,asp.net-mvc-4,Asp.net,Asp.net Mvc,Jquery,Asp.net Mvc 4,我想要一个asp.NETMVC表单发布到控制器,并显示一条关于错误或成功的消息,所有这些都使用jquery。我希望只有在表单验证成功的情况下才能发布jquery帖子。在发送到服务器之前,验证应该在客户端进行。问题是,即使表单验证失败,post也会发生。看起来整个表单都在发回,但我不能确定。我在mvc框架中使用数据注释进行验证。这是密码 看法 模型 这是因为当您按“提交的输入类型”时,表单仍将提交,只需尝试向jquery函数添加return false $('#FormPost').submit(

我想要一个asp.NETMVC表单发布到控制器,并显示一条关于错误或成功的消息,所有这些都使用jquery。我希望只有在表单验证成功的情况下才能发布jquery帖子。在发送到服务器之前,验证应该在客户端进行。问题是,即使表单验证失败,post也会发生。看起来整个表单都在发回,但我不能确定。我在mvc框架中使用数据注释进行验证。这是密码

看法

模型


这是因为当您按“提交的输入类型”时,表单仍将提交,只需尝试向jquery函数添加return false

$('#FormPost').submit(function (e) {            
        var validated = $("#FormPost").valid();
        if(validated)
        {
         $.ajax({
            type: 'POST',
            url: $('#FormPost').attr('action'),
            data: $('#FormPost').serialize(),
            accept: 'application/json',
            error: function (xhr, status, error) {

                alert('error: ' + xhr.responseText + '-' + error);

            },
            success: function (response) {
                alert('resp: ' + response);
            }
         });
        }

        return false;
    });
将这行代码添加到控制器

if (ModelState.IsValid)
{
  ...
}
else
{
   ModelState.AddModelError("key", "messege");
}

这是因为当您按“提交的输入类型”时,表单仍将提交,只需尝试向jquery函数添加return false

$('#FormPost').submit(function (e) {            
        var validated = $("#FormPost").valid();
        if(validated)
        {
         $.ajax({
            type: 'POST',
            url: $('#FormPost').attr('action'),
            data: $('#FormPost').serialize(),
            accept: 'application/json',
            error: function (xhr, status, error) {

                alert('error: ' + xhr.responseText + '-' + error);

            },
            success: function (response) {
                alert('resp: ' + response);
            }
         });
        }

        return false;
    });
将这行代码添加到控制器

if (ModelState.IsValid)
{
  ...
}
else
{
   ModelState.AddModelError("key", "messege");
}

请共享带有数据批注的模型代码。添加了模型类请共享带有数据批注的模型代码。添加的模型类仍应在服务器端验证。是。是否可以在服务器上验证它?看起来不是。但仍应在服务器端验证。是。是否可以在服务器上验证它?看起来不是。
if (ModelState.IsValid)
{
  ...
}
else
{
   ModelState.AddModelError("key", "messege");
}