私はASP.NET MVCアプリケーションを持っており、データ注釈属性に基づいて、レベルビューモデルの検証とドメインモデルの検証の両方で検証したいと考えています。ビューモデルの検証が簡単な作品:MVC - ドメインモデルの検証
public class CustomerFormVM
{
[Required]
[Display(Name = "Name")]
public string Name { get; set; }
[Required]
[Display(Name = "Street")]
public string Street { get; set; }
[Required]
[Display(Name = "City")]
public string City { get; set; }
[Required]
[Display(Name = "State")]
public string State { get; set; }
}
と、コントローラに呼び出す:
if (ModelState.IsValid)
{
私は、同じドメインモデルクラスを持っている:
public class CustomerFormPoco
{
[Required]
[Display(Name = "Name")]
public string Name { get; set; }
[Required]
[Display(Name = "Street")]
public string Street { get; set; }
[Required]
[Display(Name = "City")]
public string City { get; set; }
[Required]
[Display(Name = "State")]
public string State { get; set; }
}
が、どのようにそれを検証するために?
// viewmodel is CustomerFormVM object
var pocoModel = mapper.Map<CustomerFormPoco>(viewmodel);
私は「のviewmodel」変数をチェックしていないならば、私は結果に依存してどのように検証を呼び出して意思決定を行うために
... NULL可能名、ストリート、市と「pocoModel」変数を取得しますか?
? –
すべてをもう一度検証するのではなく、データが既にアプリケーションレイヤーで検証されている(ビューモデルで)と仮定することをお勧めします。ドメインでは、データではなくビジネスルールの検証に重点を置く必要があります。 – Alisson
jQueryの検証では、クライアント側のビューモデルの検証を処理できます。あなたは単純な 'Required'属性しか使用していないからです。次に、それが合格すれば、サーバー側の検証について心配する必要はありません。 –