1

Google でこの問題に関連するものを見つけることができないようです。
助けてください !!

シナリオ:
主に、単純な型をパラメーターとして期待するコントローラー メソッドを備えた WebAPI サーバーを使用しています。
その API は次のようになります。

public HttpResponseMessage Foo([FromBody] LoginModel form)
{
     // ...some code
     return this.Request.CreateResponse(HttpStatusCode.OK);
}

LoginType クラスは次のようになります。

public class LoginModel
{
    [Required]
    [EmailAddress(ErrorMessage = "Please have a Email address format")]
    public string Email;

    [Required]
    [StringLength(20, MinimumLength = 6, ErrorMessage = "Password must be between 6 and 20 characters")]
    public string Password;
}

クライアントが API メソッドを実行しようとすると、問題が発生します。次のような json を渡します
{ "Email" : "xxx@xxx.com" , "Password" : "oooooo" }

....次の例外が発生します

例外メッセージ:
「タイプ 'XXXX.Models.Login' のフィールド 'Email' には、1 つ以上の検証属性が関連付けられています。フィールドの検証属性はサポートされていません。代わりに、検証にパブリック プロパティを使用することを検討してください。

Fiddler から API 呼び出しを実行したときにも同じことが起こります!!

注:
[必須] などのさまざまな属性を削除すると、スムーズに動作します。属性が配置されている場合、クライアント呼び出しはメソッドに到達しません。

助けていただければ幸いです!!!

4

1 に答える 1