2016-06-14 4 views
1

コントローラーのモデルプロパティに対してスローされる既定の検証エラーをオーバーライドする方法はありますか?例えば、car.makeはnullにすることはできませんが、私は、人は車の名前が間違って作る呪文場合は特定のエラーをスローします。:モデルプロパティのカスタムエラーメッセージの追加

MODEL

public class Car 
{ 
    public int ID { get; set; } 
    [Required] 
    public string Make { get; set; } 
} 

VIEW

<div class="form-group"> 
     @Html.EditorFor(model => model.Make, new { htmlAttributes = new { @class = "form-control" } }) 
     @Html.ValidationMessageFor(model => model.Make, "", new { @class = "text-danger" }) 
</div> 
:あなたのコントローラで

CONTROLLER

public ActionResult Create([Bind(Include = "Make,Model")] Car car) 
{ 
    ModelState.AddModelError("Car.Make", "Check your spelling"); 
    return View(car); 
} 
+2

その「.AddModelError( "Car.Make"、...) 'その' .AddModelError( "Make"、...) ' - モデルにはプロパティ名はCarです。しかし、有効な値からのみ選択したい場合は、