1

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

谢谢和最好的问候

4

1 回答 1

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);
          }
      }
   });
});

因此,如果调用成功,则提交调用将通过。如果它是假的,那么 jquery 将停止按钮单击,然后您可以显示一条消息或执行其他操作。

于 2013-09-18T16:37:22.283 回答