7

WebApi を介して返されるオブジェクトに対してクライアント側の検証を実行しようとしています。webapi を介してエンティティをエンティティ編集画面に送信します。ノックアウトを使用して、オブジェクトをフィールドにバインドします。

サーバー側のすべての検証を処理するアクション フィルターが既にあります。ドメイン モデルのデータ アノテーションを複製せずにクライアント側の検証を組み込むにはどうすればよいですか?

4

2 に答える 2

0

HTTP API を作成するとき、モデル オブジェクト (DTO、要求モデルなど) を別のアセンブリに入れ、.NET クライアントに配布できるようにします。

次のクラスを検討してください。

public abstract class UserUpdateRequestModel {

    [Required]
    [StringLength(50)]
    public string Name { get; set; }

    [Required]
    [EmailAddress]
    [StringLength(320)]
    public string Email { get; set; }
}

これは私がAPIで使用するものです:

public UserDto PutUser(Guid key, UserUpdateRequestModel requestModel) {

    // Do something here
}

data-ASP.NET MVC には、データ注釈の検証属性に基づいてHTML 入力を生成する方法があるため、たとえば、ASP.NET MVC クライアント アプリケーションでこの同じモデルを使用して、検証属性を含む HTML 入力を生成できます。

于 2012-12-20T16:04:20.003 に答える