使用自定义JQuery验证构建asp.net CompositeControl

时间:2012-12-20 19:49:13

标签: jquery asp.net

设置:我已经为我过去做过的一家小公司构建了一个asp.net复合控件库。我还构建了一个通用的jquery验证库(没有使用jquery验证插件,因为它对我们正在做的事情来说太过分了)。在控制项标记本身中,开发人员可以添加类似“RequiredField ='true'”和/或“DataValidation ='Date'”的属性来执行适当的验证。在复合控件的render方法中,然后我将类似REQUIRED和DATEVALIDATOR的类添加到文本框的cssclass列表中。在document.ready方法中,我查找这些特定的类,并将文本框的onchange事件与该控件相关联。

问题:现在效果很好,但我有两个问题: 1)我不太习惯使用渲染输入标记的class属性来处理与CSS无关的东西,但是我也不确定我还能把它放到哪里以便标记仍然是有效的HTML。还有其他方法可以进行客户端验证吗?

2)这只是对#1的补充,但我想将正则表达式验证添加为控件的属性选项,但我不喜欢使用当前关联jquery验证逻辑的方法的想法这是一个css类,所以我更喜欢其他一些方法,我可以标记渲染的输出,以便我的通用jquery可以拾取它并知道要对它做什么验证。

任何建议都会非常有帮助和赞赏!

1 个答案:

答案 0 :(得分:0)

即使在技术上不是CSS类,与类关联也很好。另外,您是否考虑过数据属性标签?虽然它们是HTML5,但我使用它们来分配元数据并使用数据属性而不是荒谬的类。例如,您可以向控件添加数据属性:'data-required ='和'data-date-validator ='然后您可以相应地设置值并将空值视为false。这样,您可以将一堆这些数据属性附加到元素以读取特定信息。

实施例:     

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