手动调用 MVC 3 客户端验证以进行 ajax 帖子

2024-01-05

我正在创建一个 MVC 3 Web 应用程序。我想在实体类上使用数据注释,然后在回发到服务器之前使用不显眼的客户端验证。这在发常规帖子时效果很好。如果任何字段无效,我会收到验证和验证摘要。但是,我想通过ajax和json回发信息。我如何首先“手动”验证客户端的表单,然后将我的ajax发回服务器。下面是我的代码的摘要版本。

  public class Customer
    {
        [Required(ErrorMessage = "The customer's first name is required.")]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "The customer's last name is required.")]
        public string LastName { get; set; }
    }



    <% using (Html.BeginForm()) { %>

    <%: Html.LabelFor(model => model.FirstName, "First Name")%>
    <%: Html.TextBoxFor(model => model.FirstName, new { @class = "TextBox", id = "Customer.FirstName" })%>
    <%: Html.ValidationMessageFor(model => model.FirstName, "*")%>

    <%: Html.LabelFor(model => model.LastName, "Last Name")%>
    <%: Html.TextBoxFor(model => model.LastName, new { @class = "TextBox", id = "Customer.LastName" })%>
    <%: Html.ValidationMessageFor(model => model.LastName, "*")%>

    <div id="CustomerEditSave" class="Button CustomerEditButtons" style="margin-right:40px;">
       <a href="#">Save</a>
    </div>

    <%: Html.ValidationSummary(true) %>

    <% } %>

我已经尝试过此代码,但它仅验证名字,不显示验证摘要。

    $("#CustomerEditSave").click(function () {
        $(form).validate();
        //Ajax call here
    });

Try:

//using the form as the jQuery selector (recommended)
$('form').submit(function(evt) {
    evt.preventDefault();
    var $form = $(this);
    if($form.valid()) {
        //Ajax call here
    }
});

//using the click event on the submit button
$('#buttonId').click(function(evt) {
    evt.preventDefault();
    var $form = $('form');
    if($form.valid()) {
        //Ajax call here
    }
});

这应该适用于 jQuery ajax 和 MSAjax 调用。也可以尝试使用http://nuget.org/packages/TakeCommand.js http://nuget.org/packages/TakeCommand.js or https://github.com/webadvanced/takeCommand https://github.com/webadvanced/takeCommand它会自动为您处理这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动调用 MVC 3 客户端验证以进行 ajax 帖子 的相关文章

随机推荐

  • Wordpress get_template_directory_uri() 返回 http 而不是 https

    我们最近在我们的网站上应用了 SSL 证书 我们希望所有的 url 都具有 https 协议 一旦我们将网站移至 https 我们的网站就崩溃了 因为仍然指向 http 的资源很少 经过一段时间的研究 我发现 get template di
  • xgoogle python 库不再工作了?

    我在我的一个项目中使用了 xgoogle python 库 直到最近它都运行良好 我没有得到以前得到的结果集 如果使用过 Peter Krummins 编写的这个库的人遇到类似的情况 你能建议一个解决方法吗 The 的存在Beautiful
  • 请求全屏刷新对象标签中的数据(html canvas)

    我在视图页面上有一个按钮 可以使带有 id 游戏的对象标签全屏显示 视图 html span span main js function fullScreen var elem document getElementById game if
  • Apple 支付按钮未以条纹显示

    您好 我正在使用 iphone 6s safari 浏览器 但未显示付款请求按钮 对于网站 我的所有步骤都是正确的 我使用了 https 服务器 ngrok 还在 Stripe Apple Pay 认证中添加我的域名 使用 Safari I
  • 我可以使用简单的 html 来创建单行大小的 QTextEdit 吗?

    我需要显示简单的状态行以及包含以下样式的文本 color bold italic QTextEdit可以渲染简单的 HTML 但它也强制扩展到多行 添加红色背景以强调尺寸QTextEdit 所需的大小是一个文本行的大小 我该如何实现这一目标
  • “未指定 SMTP 主机。” - 但它是指定的?

    我在这里有点困惑 我收到以下错误 未指定 SMTP 主机 即使我的代码看起来是正确的 从我所看到的 我可以通过包含控制器内部的所有详细信息来手动完成此操作 例如 SmtpClient smtpClient new SmtpClient sm
  • 在哪里可以找到所有英国_完整_邮政编码的列表,包括街道名称及其精确坐标?

    在哪里可以找到英国所有的名单full邮政编码 包括街道名称及其精确坐标 它们不应该像 AB1 AB23 等 而是 AB1 2AA AB23 5ZZ 等 最好是免费的 Thanks 您现在可以从地形测量局免费获取邮政编码数据https www
  • 使用绑定时如何使子 NSManagedObjectContext 保持最新状态

    我有一个NSManagedObjectContext设置为有一个NSPrivateQueueConcurrencyType我在我的应用程序中大部分时间都在使用它 除此之外 我还创建了一个子 MOCNSMainQueueConcurrency
  • 用于多个项目的 QML 中继器,无需包装项目

    我想要创建一个看起来像这样的视图 为了简洁起见 我省略了一个专栏 text headr text item1 item2 text item3 item4 item5 item6 并一直尝试使用 GridLayout 来做到这一点 问题是我
  • Rails 4 - simple_form 和从 url 预填充字段

    我正在使用 simple form 我想在表单中预先填充几个字段 在表单的链接中 我将几个值传递给 URL 中的参数 当我尝试将值传递给整数或关联字段时 就会出现麻烦 无论哪种情况 该字段都不会预先填充 下面的示例 前两个字段填充得很好 但
  • std::pow 给出小数指数的错误近似值

    这就是我想要做的事情 double x 1 1402 double pow 1 3 std pow x pow 1 结果是 0 但我期望 0 4465 方程是 1 x 3 1 1402 find x 1 3 是 0 这是整数除法 Try d
  • 当 Ionic 2 中的值发生变化时检索本地存储值

    我正在使用 ionic 2 框架 并且尝试使用本地存储来存储网络状态 this local new Storage LocalStorage this local set status this status 有两个值 强 和 弱 可以动态
  • Nginx 和 FastCGI 下载 PHP 文件而不是处理它们

    我在 Windows 7 64 位 PHP 5 4 12 和 Nginx 1 5 8 上运行 我已经阅读了许多有关设置和解决此问题的教程 即当从本地主机请求 PHP 文件时 它将其作为文件下载 而不是显示 PHP 页面 下面是我的 ngin
  • 按日期顺序全局搜索文件?

    我的 python 脚本中有这行代码 它在特定目录中的所有文件中搜索 cycle log for searchedfile in glob glob cycle log 这工作得很好 但是当我将脚本运行到网络位置时 它不会按顺序搜索它们 而
  • 水晶报表自定义纸张尺寸?

    我需要水晶报告中的自定义纸张尺寸 例如宽度 5 英寸和高度 7 英寸 是否可以 IIRC 您在打印机上设置自定义纸张尺寸 然后当您在设计时在报告中设置打印机时 Crystal 会拉出自定义尺寸
  • 通过 Kafka 报告 (prometheus) 指标

    我正在寻找一种将 Prometheus 与应用程序解耦的方法 通过在中间放置 Kafka 来实现如下目标 Application metrics gt Kafka gt Prometheus 为了解决这个问题我有两个问题 是否有任何 Jav
  • Firestore社交网络数据结构

    如何构建社交网络数据库结构 例如twitter我们可以在我们的时间线中关注用户并获取他们的所有推文 我已经检查过了Firestore 如何构建 feed 和 follow 系统 https stackoverflow com questio
  • 检查序言列表元素的关系

    可以说我有关系 Happy james Happy harry unhappy Tom unhappy Ben unhappy Dick 然后是人员名单 Ben James Harry Tom Dick 如何迭代列表并检查每个列表元素的布尔
  • Jetpack Compose 记住的实际功能是什么?它在幕后是如何工作的?

    查看 Codelab 的基本教程 其中有一个片段可以在单击时增加按钮上的计数器 Composable fun MyScreenContent names List
  • 手动调用 MVC 3 客户端验证以进行 ajax 帖子

    我正在创建一个 MVC 3 Web 应用程序 我想在实体类上使用数据注释 然后在回发到服务器之前使用不显眼的客户端验证 这在发常规帖子时效果很好 如果任何字段无效 我会收到验证和验证摘要 但是 我想通过ajax和json回发信息 我如何首先