我正在使用Sharepoint 2010 ..在visual studio 2010中使用自定义字段。
我创建了一个自定义字段。这个特定的日期时间字段(“终止日期”)。我希望它失败验证,如果它是空白和另一个字段(“合同终止”等于是)。
所以我以前用计算字段做过这个。这有效,但它将验证错误放在编辑表单的顶部,而不是在我想要它的“终止日期”字段旁边..就像通常在自定义字段中使用GetValidatedString验证字段失败一样。
因为它在错误的地方,我做了一个自定义字段。但由于日期为空,因此它永远不会遇到GetValidatedString方法。我错过了什么吗?如果“终止日期”字段为空,是否有另一种方法使其无法通过验证并位于“终止日期”字段旁边?
我也尝试使用事件接收器解决方案..问题是它也会将错误消息放在顶部..而不是在终止日期字段旁边。
建议?
答案 0 :(得分:2)
对于自定义字段,您可以覆盖FieldRenderingControl,编写自己的FieldControl。如果您不在“行踪”列表中使用此自定义字段,则可以从DateTimeField继承您的字段控件并覆盖Validate方法,例如:
public override void Validate()
{
base.Validate();
if (IsValid)
{
if (!(your validation))
{
IsValid = false;
ErrorMessage = “youe message”;
}
}
}