如果表单存在验证错误,以便用户只有在表单有效时才能单击它,是否有办法禁用/提交表单提交按钮。 我正在使用ASP.Net MVC 4和razor进行“远程”属性验证的不显眼验证。
谢谢和最好的问候
答案 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将停止按钮单击,然后您可以显示消息或执行其他操作。