如果为空,验证自定义共享点字段?

时间:2011-10-26 05:23:10

标签: validation sharepoint-2010 spfield

我正在使用Sharepoint 2010 ..在visual studio 2010中使用自定义字段。

我创建了一个自定义字段。这个特定的日期时间字段(“终止日期”)。我希望它失败验证,如果它是空白和另一个字段(“合同终止”等于是)。

所以我以前用计算字段做过这个。这有效,但它将验证错误放在编辑表单的顶部,而不是在我想要它的“终止日期”字段旁边..就像通常在自定义字段中使用GetValidatedString验证字段失败一样。

因为它在错误的地方,我做了一个自定义字段。但由于日期为空,因此它永远不会遇到GetValidatedString方法。我错过了什么吗?如果“终止日期”字段为空,是否有另一种方法使其无法通过验证并位于“终止日期”字段旁边?

我也尝试使用事件接收器解决方案..问题是它也会将错误消息放在顶部..而不是在终止日期字段旁边。

建议?

1 个答案:

答案 0 :(得分:2)

对于自定义字段,您可以覆盖FieldRenderingControl,编写自己的FieldControl。如果您不在“行踪”列表中使用此自定义字段,则可以从DateTimeField继承您的字段控件并覆盖Validate方法,例如:

public override void Validate()  
{
    base.Validate();
    if (IsValid)
    {
        if (!(your validation))
        {
            IsValid = false;
            ErrorMessage = “youe message”;
        }
    }
}