0

データベース内の 2 つのテーブルのフィールドを表示するフォームがあります。MVC4 のデータ注釈モデル検証手法を使用して、このフォームを検証したいと考えています。データ注釈の検証属性を個々のモデル (テーブル) に適用する必要があるのか​​、それとも両方のテーブルのフィールドで構成される別のモデルを作成する必要があるのか​​混乱しています。

4

2 に答える 2

1

ビューに表示する情報を含む新しいモデルを作成する必要があります。この特定のモデルには名前があります。これはビューモデルと呼ばれます。常にビューモデルをコントローラーアクションからビューに渡す必要があり、コントローラーアクションは常にビューモデルをパラメーターとして受け取る必要があります。次に、このビューモデルのプロパティを検証属性で装飾できます。

于 2012-12-31T10:46:28.153 に答える
0

両方を行うことができます。ドメイン モデル クラスとビュー モデルを装飾できます。どちらも正しいです。ビューには、モデル クラスの代わりにビュー モデルを使用する方がよいということです。ビューでドメイン モデル全体を公開する必要はありません

using System.ComponentModel.DataAnnotations;名前空間を追加し、各プロパティに必要な属性を追加するだけです。

例えば:

public class BankAccount 
{
    [Required]
    public Person Person { get; set; }
    [Required]
    public AccountType AccountType { get; set; }
    [Required, StringLength(256)]
    public string BankName { get; set; }
}
于 2012-12-31T12:37:38.900 に答える