使用asp.net的jqueryvalidation器

我需要了解如何通过jquery获取对象asp的访问权限,因为我有一个文件,它在我的aspx后面的代码页面加载中注册,脚本需要进行validation,我在不同的网站上读到我可以用这个但不起作用我会放我的代码,任何人都可以帮助我。 谢谢

在脚本文件中触发validation此方法的按钮

   

js

 $(".btnOk").click(validateData); function validateData() { $("form").validate({ rules: { '': "required" } }); } 

我的代码在我注册脚本的地方

 ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", " "); ClientScript.RegisterClientScriptBlock(this.GetType(), "Validator", " "); 

UPDATE

这是我需要validation的文本输入

   

使用''也无法使用'.txtLayerName'

更新2

这是asp的渲染名称

  

jquery使用html输入的NAME属性validation,而不是ID。 因为我使用了webforms,所以我已经有一段时间了,所以我不知道名字和id是否匹配。 但它可能值得研究。

编辑:我已经添加了validation,并取得了巨大的成功,如下所示:

  $(function(){ $("form").validate(); $('.txtLayerName').each(function () { //add the required validator to these! $(this).rules('add', {required: true}); }); }); 

我想你想要:

 '<%= txtLayerName.ClientID %>': "required" 

另外,请记住,您可以使用CSS类而不是像这样定义规则,这样更容易一些。 例如:

  

我使用jQuery的“ends with”选择器运气好,因为控件的服务器端ID始终是客户端ID字符串的最后一位。

例如,您的按钮的客户端ID可能类似于“ctl00 $ foo $ bar $ btnOk”,那么您的jQuery将是:

 $("[id$=btnOk]").click(validateData); 

那么你可以用TextBox做同样的事情。

 rules: { $("[id$=txtLayerName]").attr("id") : "required" } 

更新:

试试这个:

 rules = {}; rules[$("[id$=txtLayerName]").attr("id")] = "required"; 

因为对象本质上只是对元素具有直接命名访问权的数组,所以您可以创建一个数组并像对象一样使用它。

这确实有效,因为我正在使用它,虽然我猜想'<%=txtName.UniqueID %>'不需要'' ‘的工作……

如果您使用的是.NET 4并且clientIDMode = Static ,那么您也可以使用以下脚本并像往常一样使用这些名称。

  $("#aspForm input:not(:hidden)").each(function () { var i = $(this).get(0); i.name = i.id; });