如果表单无效,则asp.net mvc禁用提交按钮

时间:2013-09-18 16:20:39

标签: javascript validation asp.net-mvc-4 unobtrusive-validation

如果表单存在验证错误,以便用户只有在表单有效时才能单击它,是否有办法禁用/提交表单提交按钮。 我正在使用ASP.Net MVC 4和razor进行“远程”属性验证的不显眼验证。

谢谢和最好的问候

1 个答案:

答案 0 :(得分:0)

取决于您进行验证的位置。如果您使用jquery在服务器端执行此操作,则可以将e.preventDefault添加到检查中是否无效,并且在满足条件之前不会触发按钮单击。如果使用属性进行服务器端验证,则可以检查模型状态,如

if (ModelState.IsValid){
}else{
}

如果模型状态有效(数据通过所有检查),则运行一组代码。如果模型状态无效,则只返回视图以返回到您开始的位置,并传递一条消息,其中包含用户失败的任何内容。希望这会有所帮助。

更新

刚刚看到你评论的编辑。对于ajax调用,您将需要使用prevent default。

$('.SubmitButton').on('click', function(e){
   $.ajax({
      //your call
      success: function(result){
          if(result.false){
              e.preventDefault();
              alert(result.message);
          }
      }
   });
});

所以如果通话成功,提交电话将会通过。如果为false,则jquery将停止按钮单击,然后您可以显示消息或执行其他操作。