我编写了一个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字段的验证?
答案 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);
}