2

独自のカスタム データ注釈を作成しようとしています。新しいプロジェクトを作成し、データ注釈はこのクリーンなプロジェクトで完全に機能しますが、Repository-Pattern プロジェクトでは機能しないようです。

MustBeTrue 検証を作成しました。つまり、このメソッドは、特定のチェックボックスがオンになっているかどうかを確認します (利用規約)。

[Display(Name = "I accept the terms and conditions")]
[MustBeTrue(ErrorMessage = "Please accept terms and conditions before 
public bool AcceptTerms { get; set; }
//non-relevant properties follow
//....method listed below

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MustBeTrueAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return value != null && value is bool && (bool)value;
    }
}

別のプロジェクトにこれとまったく同じコードがあり、ビューを作成してこのモデルを使用すると、検証は完全に機能します。ただし、Web アプリケーションでモデルを使用する代わりにリポジトリを使用する他のプロジェクトでそれを複製しようとすると、カスタム検証が実行されません。

編集:追加するもう1つの非常に重要なことは、そのエンティティに固有のフィールドを表示するヘルパーがあることです。たとえば、MvcHtmlString入力する必要があるフィールドの文字列を返すために使用しています。

これをあきらめる前に確認しなければならない設定はありますか?私が行っていないカスタム注釈を「デフォルト」で接続する必要があるものはありますか?

注: System.ComponentModel.DataAnnotations は、リポジトリ プロジェクトで正常に動作します。これは、動作できないカスタムのものだけです。

助けてくれてありがとう!大変感謝しています。

4

0 に答える 0