2016-09-22 4 views
0

ModelState属性のキーを変更する方法はありますか?ModelState MVC属性のキー/値のペアを変更します

{"Message":"The request is invalid.", 
"ModelState": 
    { 
     "supplier.SupplierWarehouses[2].Location":["Location name is too long, maximum 50 characters"] 
    } 
} 

私はsupplier.SupplierWarehousesを変更したい[2] SupplierLocationのようなよりシンプルなものに.Location:私は、次のようなJSONレスポンスを受信します。

モデルでこれを直接行う方法はありますか?現在のモデル:

public class SupplierWarehouseMetadata 
{ 
    [StringLength(50,ErrorMessage="Location name is too long, maximum 50 characters")] 
    public string Location { get; set; } 
} 

答えて

1

いいえ、これはちょうど約ModelStateではないためです。ポスト値にはその名前が付いています。これは、ポスト時にモデルの適切なプロパティにモデルバインダーを正しくバインドするためにモデルバインダーが必要とするものです。名前を変更すると、値はバインドされなくなります。

しかし、とにかくここの目標は何ですか? JSONで何が返ってくるか心配している場合は、ModelStateをダンプする代わりにカスタムを返してください。

関連する問題