我有几个通过ajax加载的选项卡,每个选项卡都有一组验证器。我想只允许用户在标签有效时更改标签
我认为将验证组设置为验证器然后检查这样的特定组是否可行:
function validatePage(group) {
return Page_ClientValidate(group);
}
但是,当我调用该函数时,它总是返回true。谁能看到我做错了什么?
我这样检查
alert(validatePage("presentaciones"));
我有一些验证器:
// (...)
<asp:TextBox ValidationGroup="presentaciones" id="txtDescription" runat="server" Text='<%# Eval("Description") %>' MaxLength="50" />
<asp:RequiredFieldValidator ID="DescriptionRequiredFieldValidator" runat="server" ControlToValidate="txtDescription" SetFocusOnError="true" ValidationGroup="presentaciones" ErrorMessage="Debe ingresar una descripción" Display="Dynamic" />
// (...)
答案 0 :(得分:0)
我已经让小组在服务器端与Page.Validate(group)
一起工作,但我不知道这可以在客户端完成。也许您需要实现一个自定义验证控件来检查每个选项卡的状态。
答案 1 :(得分:0)
我的猜测是验证脚本没有连线。在你的函数中做一个警报((typeof(Page_Validators)==“undefined”))并查看它是否显示为true。你说你正在通过ajax加载标签。您可能想看看是否在页面上放置验证器有助于连接验证脚本。
要注意的另一件事是Firefox和传统渲染模式....客户端只是简单在这种情况下不起作用。
答案 2 :(得分:0)
这可以在客户端完成。像这样:
$('.buttonWithSameValidationGroup').bind('click', function () {
if (Page_ClientValidate($(this).attr('validationgroup'))) {
//do stuff
}
});
有时您可能需要在Page Pre_Render方法
中添加以下服务器端代码button1.AddAttributes("validationgriup","group1");