将ValidationGroup与Sharepoint EditorPart一起使用

时间:2010-12-15 13:49:11

标签: c# .net sharepoint sharepoint-2007

我编写了一个Sharepoint 2007 Web部件,需要在User表单和Admin表单(EditorPart)中进行验证。

我正在使用InputFormRegularEdpressionValidator进行这样的验证:

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应用于编辑器部分中的“确定”和“应用”按钮,或以其他方式验证这些字段。

如何在面向公众的Web部件中的字段验证中单击“确定/应用”时触发EditorPart字段的验证?

1 个答案:

答案 0 :(得分:2)

在这种情况下,我建议使用下面链接中提供的解决方案

How to set an error message from EditorPart when ApplyChanges returns false?

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);
}