2

我正在使用 Sharepoint 2010 .. 与 Visual Studio 2010 中的自定义字段。

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

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

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

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

建议?

4

1 回答 1

2

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

public override void Validate()  
{
    base.Validate();
    if (IsValid)
    {
        if (!(your validation))
        {
            IsValid = false;
            ErrorMessage = “youe message”;
        }
    }
}
于 2011-10-26T08:08:34.743 回答