Posts Tagged ‘Validation’

Model-based validation for ASP.NET MVC: better approach

No Comments » | Tuesday, September 9th, 2008

In my previous post about model-based validation I introduced my concept of validating data using attributes as well as using my own HTML helpers to display errors. Many things have changed since then because of new MVC release. What’s new in ASP.NET MVC Preview 5?

  • ModelState class which stores model’s validation errors and
  • Model binders for populating data from forms to strongly typed objects.

You can read more about it in Scott gu’s article ASP.NET MVC Preview 5 and Form Posting Scenarios.

That’s why I have updated my code from last time to use some new stuff and to get much shorter code in controllers:

[ActionName("Create"), AcceptVerbs("POST")]
public ActionResult Save()
{
    if (this.IsModelValid(typeof(TestModel)))
    {
        // Save it, just an example
        _repository.Save<TestModel>(ViewData.Model);

        return RedirectToAction("Done");
    }

    return View("Index");
}

What IsModelValid() does?

  • validates submitted data (according to type, name and attributes)
  • populates ViewData.ModelState with errors
  • populates ViewData.Model

I really like this idea (code is very readable) but after reading Thoughts on validation in ASP.NET MVC applications I realized that my approach lacks in some ways:

  • no repository specific error handling
  • violating some good principles

So althrought Steve Sanderson’s code is a bit longer, his validation concept make sense and I am really looking forward to see it in action!

Model-based validation for ASP.NET MVC (concept)

2 Comments » | Wednesday, August 20th, 2008

MVC is definitely the way to go for the future but ASP.NET MVC Preview 4 (the latest release) still lacks in lot of different areas. One of the most essential missing features is some kind of validation and I am not the only one who needs this stuff right now. That’s why I have written a few lines for validating my forms. It’s basically a concept which is not ready for production but I want to share it with you a get some feedback.

(more…)

Hostgator is going to host .NET sites in the nearly future