c# javascript mvc - 模型验证后出现 Javascript window.confirm 框集
Posted
技术标签:
【中文标题】c# javascript mvc - 模型验证后出现 Javascript window.confirm 框集【英文标题】:c# javascript mvc - Javascript window.confirm Box set appear after model validation 【发布时间】:2016-11-22 04:03:32 【问题描述】:我的 MVC 项目中有一个场景。
我有这个模型,以每个属性的“必需”验证为例。
public class ResetPasswordViewModel
[Required]
public string UserName get; set;
[Required]
public string Password get; set;
[Required]
public string NewPassword get; set;
[Required]
[Compare("NewPassword", ErrorMessageResourceType = typeof(Resources.localize), ErrorMessageResourceName = "ErrorMessagePasswordNotMatch")]
public string ConfirmPassword get; set;
我的视图中有一个类似这样的 html 表单
@using (Html.BeginForm("register", "account", FormMethod.Post, new data_ajax = "false", id = "loginForm" ))
@Html.ValidationSummary()
<ul data-role="listview" data-inset="true">
<li data-role="list-divider">@Resources.localize.AccountDetails</li>
<li data-role="fieldcontain">
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
</li>
<li data-role="fieldcontain">
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
</li>
<li data-role="fieldcontain">
@Html.LabelFor(m => m.NewPassword)
@Html.PasswordFor(m => m.NewPassword)
</li>
<li data-role="fieldcontain">
@Html.LabelFor(m => m.ConfirmPassword)
@Html.PasswordFor(m => m.ConfirmPassword)
</li>
<li data-role="fieldcontain">
<input data-ajax="false" type="submit" value="Login" />
</li>
</ul>
当我通过单击登录按钮提交表单时,我想添加一个 window.confirm 框,并且我希望 window.confirm 仅在模型验证中表单有效时触发。
当我简单地在登录按钮上设置 window.confirm 时,无论表单是否有效,它都会首先触发。
是否有可能实现,window.confirm 仅在表单有效后才出现? (不使用任何 jQuery 验证器)
【问题讨论】:
您将表单提交给控制器方法,因此您已离开当前页面。您希望在哪里显示“确认” 【参考方案1】:您可以在您的页面中使用 Jquery validate.js,例如
然后使用
$("input[type='submit']").on("click", function()
var isValid = $("#loginForm").valid();
if(isValid)
var isConfirm = confirm("Are you sure you want to proceed?");
if(!isConfirm)
return false;
);
【讨论】:
以上是关于c# javascript mvc - 模型验证后出现 Javascript window.confirm 框集的主要内容,如果未能解决你的问题,请参考以下文章
javascript MVC 4的kendo UI datepicker验证
Javascript、Razor/MVC3 中的 C# if 语句