I'm trying to implement the restful convention on my controllers but am not sure how to handle failing model validation in sending it back to the 'New' view from the Create action.
public class MyController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult New()
{
return View();
}
[HttpPost]
public ActionResult Create(MyModel model)
{
if(!ModelState.IsValid)
{
// Want to return view "new" but with existing model
}
// Process my model
return RedirectToAction("Index");
}
}
Granted I'm not familiar with the REST conventions, so I may be way off here ... (and I couldn't find a source that said that the New() method has to be parameterless in a few minutes googling)
You could change your New() method to
And then in your Create()
And check in your New view if a Model is set or not. The New() will still work perfectly without a parameter as it used to.
Simply: