2016-09-22 3 views
0

Gibt es eine Möglichkeit, den Schlüssel eines ModelState-Attributs zu ändern? Ich erhalte die folgende JSON-Antwort:Ändern des Schlüssel/Wert-Paars eines ModelState MVC-Attributs

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

Ich möchte die supplier.SupplierWarehouses [2] .Standort etwas einfacher wie SupplierLocation ändern.

Gibt es eine Möglichkeit, dies direkt im Modell zu tun? Mein aktuelles Modell ist:

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

Antwort

1

Nein, denn dies ist nicht nur über ModelState. Der post-Wert hat diesen Namen, da dies der Modellbinder benötigt, um ihn beim Post korrekt an die entsprechende Eigenschaft in Ihrem Modell zu binden. Wenn Sie den Namen ändern, wird der Wert nicht mehr gebunden.

Das sagte, was ist das Ziel hier sowieso? Wenn Sie sich Sorgen darüber machen, was in JSON zurückkommt, geben Sie einfach etwas Brauchbares zurück, anstatt ModelState zu dumpen.

Verwandte Themen