javascript - 触发不显眼的验证,但阻止在 mvc4 表单上提交

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

我有一个表单,这个表单有一些必需的值,所以在我的 View 模型中我有一些类似的东西:

[Required(ErrorMessageResourceType = typeof(Res_Errors), ErrorMessageResourceName = "errorPacienteNoSeleccionado")]
public int? scheduledIdPersonaSeleccionada { get; set; }

还有一个提交按钮,但我不想将表单提交到服务器,我只需要在验证通过时执行 jquery 函数。

验证正在工作,但我不知道如何阻止表单发布并调用我的函数。

最佳答案

如果您只想在表单提交时执行 javascript(而不是实际上发送信息),请查看 @Ajax.BeginForm :

@using (Ajax.BeginForm(new AjaxOptions { OnBegin = "MyFunction" }))
{
    @Html.EditorFor(x => x.scheduledIdPersonaSeleccionado)
    <input type="submit" value="Presentar" />
}

或者,您可以 Hook 提交事件并自行执行:

$('form').submit(function(){
  if ($(this).valid()) { // validation passed
    // cal your jquery function here
  }
});

关于javascript - 触发不显眼的验证,但阻止在 mvc4 表单上提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256048/

相关文章:

asp.net-mvc - 在 Controller 方法中重新验证修改后的 ViewModel?

javascript - ASP.NET MVC 实现自定义验证器使用 IClientValidatable

jquery - jQuery 中的自定义验证 不带字段名称的非侵入式验证

javascript - 嵌入单选按钮

javascript - jquery 不显示隐藏元素

javascript - javascript 中的正则表达式删除任何不是 : a-z 0-9 and hyphen 的内容

javascript - 在 jquery 中创建可关闭的选项卡

c# - 如何在禁用 Javascript 时优雅地处理 AJAX PartialView 更新

javascript - 为什么MVC4 validate js自动在datetime上添加数字验证?

带有 StringLength 属性的尾随空格的 jQuery 验证处理