我编写了一个Sharepoint 2007 Web部件,该部件要求同时在“用户”表单和“管理”表单(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字段的验证?
最佳答案
在这种情况下,我建议使用下面链接中提供的解决方案
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);
}
关于c# - 将ValidationGroup与Sharepoint EditorPart一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4450571/