3

Database-Firstを使用してモデルクラス(EDMXファイル)を生成し、「MetadataType」を使用して検証したいと思います。私はここで解決策を読みましたが、それらは私にとってはうまくいきませんでした。

これが私のコードです:

[MetadataType(typeof(MovieEntitiesMetaData))]
public partial class MovieEntities
{        
}

public class MovieEntitiesMetaData
{
    [DisplayFormat(DataFormatString = "{0:c}")]
    public Nullable<global::System.Decimal> PRICE { get; set; }
}

ここに欠けているものはありますか、または私のソリューションが機能しなかったのはなぜですか?

4

1 に答える 1

1

という新しいファイルを作成し、MoviePartial.csその中に次のコードを配置します。

[MetadataType(typeof(MovieMetaData))]
public partial class Movie
{    
    internal sealed class MovieMetaData
    {
        [DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "Price is required")]
        public decimal? PRICE { get; set; }
    }
}

Movieまた、データアノテーションを接続できるように、タイプをビューに渡す必要があります。カスタムビューモデルを使用している場合、データ注釈は機能しません。

[作成/編集]ビューでは、次のものが必要です。

@Html.EditorFor(m => m.PRICE)

詳細ビューでは、次のものが必要です。

@Html.DisplayFor(m => m.PRICE)

詳細については、次のステップバイステップのチュートリアルに従ってください。

データ注釈バリデーター(C#)による検証

于 2012-10-06T04:34:18.520 に答える