Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC2 RC:如何在ajax请求之前拦截或触发客户端验证?_Asp.net_Asp.net Mvc 2 - Fatal编程技术网

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

ASP.NET MVC2 RC:如何在ajax请求之前拦截或触发客户端验证?,asp.net,asp.net-mvc-2,Asp.net,Asp.net Mvc 2,我在表单上有一个用户名文本框,它通过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")] p

我在表单上有一个用户名文本框,它通过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()。无效,但不显示通常的验证消息。快到了


有什么想法吗?

好的,所以我的解决方案是在按钮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执行客户端验证后触发。

您实施了哪些客户端验证?我怀疑答案可能是“Doh!”客户端验证在文本框上成功执行,但其成功/失败对按钮单击是否继续没有影响。例如,无效的文本框值显示验证消息,但我需要一种方法将此验证失败绑定到按钮(以禁用它)