是否有可能“侵入”? ASP.NET MVC 3 支持不显眼的验证吗?

发布于 2024-10-21 15:57:23 字数 464 浏览 4 评论 0原文

我希望能够使用内置的、基于数据注释的客户端非侵入性验证,但在我知道它通过后进行我自己的 ajax 表单提交。

像这样的 jQuery 位:

$('#form').submit(function(e) {
  e.preventDefault();

  if (PassesUnobtrusiveValidation()) {
    // ajax submit form
  }
});

是否有 PassedValidation 事件或类似的事件(内置于默认的基于 asp.net mvc 3 数据注释的客户端验证)我可以挂钩(如示例中的伪代码)?

我想这样做,这样我仍然可以利用基于数据注释的验证,然后按照我想要的方式异步提交表单。我希望避免在客户端中编写常见验证,让 asp.net mvc 3 为我处理它,然后使用 $.ajax(); 提交我想要的表单

I want to be able to use the built-in, data-annotation based, client-side unobtrusive validation, but do my own ajax form submission after I know it passes.

Something like this jQuery bit:

$('#form').submit(function(e) {
  e.preventDefault();

  if (PassesUnobtrusiveValidation()) {
    // ajax submit form
  }
});

Is there a PassedValidation event, or something like it, (built into the default, asp.net mvc 3 data-annotation based client side validation) I can hook into (like the psuedocode in the example)?

I want to do this so I can still take advantage of the data-annotation based validation, and then submit the form asynchronously how I want to. I wish to avoid writing common validation in the client, letting asp.net mvc 3 take care of it for me, and then submitting the form how I want to, using $.ajax();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2024-10-28 15:57:23

如果您使用的是 jquery.validate:

$('#myForm').submit(function() {
    if ($(this).valid()) {
        // Client side validation passed => submit the form
    }
});

另一种可能性是挂钩插件 options

$.validator.setDefaults({
    submitHandler: function(form) {
        // Client side validation passed => submit the form
    }
});

如果您使用 MSAjax 那么祝您好运。

If you are using jquery.validate:

$('#myForm').submit(function() {
    if ($(this).valid()) {
        // Client side validation passed => submit the form
    }
});

Another possibility is to hook at the plugin options:

$.validator.setDefaults({
    submitHandler: function(form) {
        // Client side validation passed => submit the form
    }
});

If you are using MSAjax then good luck with this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文