2

私はSharepoint2010を使用しています..VisualStudio2010のカスタムフィールドで。

カスタムフィールドを作成しました。この特定のフィールドは日時フィールド(「終了日」)です。空白で別のフィールド(「ContractTerminates」がyesに等しい)の場合、検証に失敗するようにします。

だから私は以前に計算フィールドでこれを行っていました。これは機能しますが、検証エラーが編集フォームの上部に表示されます。必要な[終了日]フィールドの横ではありません。カスタムフィールドで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 に答える