将ASP.NET验证与JQuery相结合的优雅方式

前端之家收集整理的这篇文章主要介绍了将ASP.NET验证与JQuery相结合的优雅方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何最好地将 JQuery与ASP.NET客户端验证模型相结合?

我通常避免实现ASP.NET验证模型,因为它总是对我正在做的事情似乎太过分了.对于我现在正在开发的网站,我只是收集非关键的用户数据,只需要一些基本的验证.我不想要消息出现在DOM或任何类似的东西.我总是觉得很难让它看起来正确.

但是现在我需要实现一些更优雅的东西.我想在JQuery中利用的是巧妙的搜索表达式,如“告诉我,如果至少其中一个复选框被选中”.我是JQuery的新手,但我认为这是大概1行的JQuery,而且在传统的ASP.NET模型中更为复杂.

所以我想充分利用JQuery的能力,但并不完全忽略ASP.NET的验证模型.

到目前为止,我最好的方法是(这几乎落后于ASP.NET):

$('#<%=btnJoinMailingList.ClientID %>').bind('click',function(event) {

   if (...) {
       alert("You must enter a name");
       return false;
   }     
   return true;
});

这里有什么更好的方法?有没有任何推荐的JQuery插件

PS.我不想使用MVC模型.我正在尝试创建一个非常“RAD”网站,没有时间深入研究这些有趣的新东西.

解决方法

ASP.NET有许多验证控件,其中之一是 CustomValidator.
您可以给它一个使用jQuery的自定义JavaScript函数,并通过参数返回true或false.您可以使用此控件自动显示错误消息,或者只是运行jQuery代码并手动处理显示.

ASPX:

<asp:CustomValidator ID="CustomValidator1" runat="server" Display="None"
                     ClientValidationFunction="checkTextareaLengths">
</asp:CustomValidator>

JavaScript的:

function checkTextareaLengths(source,args){
  args.IsValid = true;
  $('textarea').each(function(){
    if($(this).text().lenght > 400)
      args.IsValid = false;
  });
}

猜你在找的asp.Net相关文章