【发布时间】:2015-03-18 21:46:45
【问题描述】:
我有一个表单的三个部分,它们包含在 jquery 选项卡中。我想让每个选项卡都有自己的验证器,这样如果该表单上存在验证错误,就很容易看到用户需要重新执行哪些表单。我遇到的问题是,当我尝试这样的事情时:
private void ValidateTabOne()
{
Page.Validate("t1");
if (!Page.IsValid)
cvt1.IsValid = false;
}
private void ValidateTabTwo()
{
Page.Validate("t2");
if (!Page.IsValid)
cvt2.IsValid = false;
}
protected void btnSave_Click(object sender, EventArgs e)
{
ValidateTabOne();
ValidateTabTwo();
if (Page.IsValid)
{
//do the save
}
}
如果 t1 组中的任何内容无效(无论 t2 组是否有效),cvt2 将始终无效,因为我首先 Validate("t1")。
我仍然想在后面的代码中做到这一点。如何一次验证一个组,或“重置”验证以排除 Page.IsValid 检查中的先前组?
我知道在最坏的情况下,我可以编写一个巨大的语句来检查每个验证器的 IsValid,但我更愿意使用验证组。
【问题讨论】:
-
也许您可以在回发中发送一个选项卡 ID,这样您就知道应该在 btnSave_Click 处理程序中验证哪个组。
-
如果我单独保存每个选项卡,这是个好主意。不幸的是,我想一次保存所有选项卡。因此,它仍然会按顺序(如上)验证每个选项卡,并且无法正确验证。
标签: c# asp.net .net validation