2012-12-20 37 views
0

设置一个asp.net的CompositeControl:我建立了一个asp.net复合控件库在一家小公司,我在过去所做的工作。我还构建了一个通用的jQuery验证库(没有使用jquery验证插件,因为它对我们正在做的事情是过度的)。在该控制项的标记本身,开发者可以添加属性如“RequiredField =‘真’”和/或“资料验证=‘日期’”来执行适当的验证。在复合控件的render方法中,然后将类REQUIRED和DATEVALIDATOR添加到文本框的cssclass列表中。在document.ready方法中,我查找这些特定的类,并将文本框的onchange事件与该控件相关联。构建自定义jQuery验证

问题:这个伟大的工程如现在,但我有两个问题: 1)我真的不舒服的使用所呈现的输入标记的东西,没有任何与CSS的类属性,但我我也不确定我还可以把它放在哪里,这将允许标记仍然是有效的HTML。有另外一种方法可以进行客户端验证吗?

2)这只是对#1的补充,但我想添加正则表达式验证作为控件的属性选项,但我不喜欢使用当前关联jquery验证逻辑的方法使用CSS类来做到这一点,所以我更喜欢一些其他的方式,我可以标记渲染输出,使我的通用的jQuery可以把它捡起来,并知道该怎么给它什么验证。

任何建议将是很大的帮助和感谢!

回答

0

与类关联是好的,即使它在技术上是不是一个CSS类。另外,你有没有考虑数据属性标签?虽然他们是HTML5,但我用它们来分配元数据并使用数据属性而不是一大堆荒谬的类。例如,您可以添加数据 - 属性你的控件:“数据需要=”和“数据日期验证=”,那么你可以设置相应的值,并把空值假。这样,您可以将一堆这些数据属性附加到元素以读取特定信息。

实施例:

$(function() { 
    // isRequired would == true 
    var isRequired = $("#container").attr("data-required"); 
});