我一直在使用这里找到的JQuery验证引擎:https://github.com/posabsolute/jQuery-Validation-Engine
我在Asp.net webforms网站(不是MVC)中使用它。我在主页面中有表单标签,并从那里调用验证功能。
$(function () {
$("#form1").validationEngine('attach', { promptPosition: "topRight" });
});
如果控件在MasterPage上,验证器工作正常,但如果它们是从内容页面引入的,则不会验证它们。
我环顾四周,发现这是因为.net重命名控件以避免冲突:https://stackoverflow.com/a/7353664/1218621
所以我在我的MasterPage指令中放了ClientIDMode =“Static”,但这只保留了表单控件ID,而不是名称。此jquery验证引擎按名称调用项目。
我知道我可以编写一个脚本来重命名我的控件,但是我已经读过,之后我就无法在回发时引用它们的属性了,看起来这不是最佳实践
由于我可以通过使用ClientIDMode =“Static”来确保控件ID是什么,但是我不能指望他们的名称值没有改变,有没有办法简单地让jquery validationengine在控件ID上工作而不是名字?
答案 0 :(得分:0)
您还需要将ClientIDMode="Static"
放在内容页面中的控件上。这是一个非常好的客户端库;您在服务器端验证中使用了什么?您是否尝试过使用ajax[selector]
或funccall[selector]
验证方法?