C# 将ValidationGroup与Sharepoint EditorPart一起使用
我已经编写了一个Sharepoint 2007 web部件,它需要在用户表单和管理表单(EditorPart)中进行验证 我使用InputFormRegularEdpressionValidator执行如下验证:C# 将ValidationGroup与Sharepoint EditorPart一起使用,c#,.net,sharepoint,sharepoint-2007,C#,.net,Sharepoint,Sharepoint 2007,我已经编写了一个Sharepoint 2007 web部件,它需要在用户表单和管理表单(EditorPart)中进行验证 我使用InputFormRegularEdpressionValidator执行如下验证: tb = new TextBox(); tb.ID = "myID"; InputFormRegularExpressionValidator validTb = new InputFormRegularExpres
tb = new TextBox();
tb.ID = "myID";
InputFormRegularExpressionValidator validTb = new
InputFormRegularExpressionValidator();
validTb.ControlToValidate = tb.ID;
validTb.ValidationExpression = myRegExp;
validTb.ValidationGroup = "AdminInput";
this.Controls.Add(tb);
this.Controls.Add(validTb);
我已经定义了两个验证组——一个用于UserInput,另一个用于AdminInput。我在用户表单中定义了一个提交按钮,并将这个ValidationGroup设置为UserInput
但是,我不知道如何将ValidationGroup AdminInput应用于编辑器部分中的Ok和apply按钮,或者以其他方式验证这些字段
在面向公众的web部件中,单击“确定/应用”与字段验证分开时,如何触发EditorPart字段的有效性?在这种情况下,我建议使用下面链接中提供的解决方案
我猜你是想链接到而不是你的博客。请编辑答案。但由于没有触发验证(至少据我所知),因此不会生成错误。问题是如何在EditorPart中触发验证,而不是如何处理验证结果。我想说的是,您可以在验证后使用return true和false,您可以在代码中处理它们,并且可以使用this.Zone.ErrorText=“xyz”显示验证消息。是的-我看到了,但它没有回答我问的问题,即如何首先触发验证。不-你给我的解决方案是一个完全不同的问题的解决方案。它不能帮助我触发验证,只能处理已经触发的验证的结果。也许我不明白你在说什么——在这种情况下,也许你可以用一种解决我问题的方式重申你的答案。
string _errorText;
public override bool ApplyChanges()
{
if (System.Text.RegularExpressions.Regex.IsMatch(validTb.Text, myRegExp))
{
//write you code here in case of valid input
return true;
}
else
{
_errorMessage = "Not A valid String";
return false;
}
}
protected override OnPreRender(EventArgs e)
{
if (!string.IsNullOrEmpty(_errorText))
{
this.Zone.ErrorText = _errorText;
}
base.OnPreRender(e);
}