繁体   English   中英

ASP.NET MVC2 RC:如何在ajax请求之前拦截或触发客户端验证?

[英]ASP.NET MVC2 RC : How to intercept or trigger client-side validation before ajax request?

我在表单上有一个用户名文本框,该表单具有通过DataAnnotation属性应用的一些验证规则:

[Required(ErrorMessage = "FTP login is required")]
[StringLength(15, ErrorMessage = "Must be 15 characters or fewer")]
[RegularExpression(@"[a-zA-Z0-9]*", ErrorMessage = "Alpha-numeric characters only")]
public string FtpLogin { get; set; }

我在此文本框旁边还有一个按钮,该按钮会触发一个jQuery ajax请求,该请求检查用户名的存在,如下所示:

<button onclick="check(this);return false;" id="FtpLoginCheck" name="FtpLoginCheck">Available?</button>

我正在寻找将两者结合在一起的方法,以便在onclick事件中调用“ check(this)”之前执行客户端验证。

编辑:更清楚地说,当我单击文本框旁边的不相关按钮时,我需要一种方法来检查或触发文本框的客户端验证结果。

编辑:现在我有按钮JS检查$(“ form”)。validate()。invalid,但不显示通常的验证消息。 快好了

有任何想法吗?

好的,所以我的解决方案是在按钮onclick事件期间手动触发客户端验证:

        var validator =  $("form").validate({
            submitHandler: function(form) { /* do nothing */ }
        });
        if (validator.errorList.length > 0) return;

怎么样:

$(function() {
    $("#FtpLoginCheck").live("click", function(e){ 
          e.preventDefault();
          var $this = $(this);
          check($this);
    }
});

在asp.net MVC2执行客户端验证后将触发此事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM