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