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