ajax - AjaxForm 上的 ASP.Net MVC 3 验证

标签 ajax asp.net-mvc-3 validation ajaxform

我在 razor View 引擎上有一个 ajax 表单。为了验证我使用数据注释类。当用户提交表单时,验证工作正常,验证消息工作正常。 问题是,验证不适用于 keyup 或模糊事件。

如何在不提交 ajaxform(ajax.beginform) 的情况下激活验证

这是我的 View 代码:

@using (Ajax.BeginForm(new AjaxOptions { InsertionMode = InsertionMode.Replace,       
        UpdateTargetId = "employeeDetail", HttpMethod = "Post", OnComplete = "Complete", 
        Confirm = "Confirm?" }))
{
    @Html.TextBoxFor(model => model.Email)
    @Html.ValidationMessageFor(model=>model.Email)
    <span style="float:right"><input type="submit" class="tableGenelButton" id="submitButton" value="Kaydet" /></span>
}

型号:

  [RequiredWithMessage]
  [Display(Name = "E-Mail")]
  public string Email { get; set; }

最佳答案

更新:

好吧,显然您正在使用 Ajax.BeginForm,它使用 MicrosoftAjax 而不是 jQuery(我之前没有意识到)。这需要一些额外的工作来启用客户端验证:

你需要

<% Html.EnableClientValidation(); %> 

页面中的某个位置,还链接到 MicrosoftAjax.jsMicrosoftMvcAjax.jsMicrosoftMvcValidation.js

这是您可能感兴趣的链接:

ASP.NET MVC Client Side Validation With Ajax.BeginForm


要为自定义验证属性启用客户端验证(我猜 [RequiredWithMessage] 就是其中之一),您必须实现 IClientValidatable interface

这里有一篇文章解释了如何做到这一点:

The Complete Guide To Validation In ASP.NET MVC 3 - Part 2

关于ajax - AjaxForm 上的 ASP.Net MVC 3 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938684/

相关文章:

javascript - 使用 AJAX 加载内容,其中包含脚本标签

c# - 加入两个模型以将数据放入 View

.net - Structuremap - 多个接口(interface)实现

javascript - 如何正确地将带有 JSON 数据的 jquery post 请求发送到 MVC 3,以便它将控制权交还给我的 Controller ?

asp.net-mvc - ASP.NET MVC 3 对嵌套对象的验证未按预期工作 - 验证子对象两次而不是父对象

ruby-on-rails - 以编程方式禁用Rails验证?

ajax - jQuery 和 Ajax with json - 在 IE 中失败

php - 当用户单击 Laravel 4 中的表头时,如何按表排序?

c# - asp CompareValidator 在回发后验证

jquery - 如何使用 iframe 进行异步(AJAX)文件上传?