Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MVC3 - Where to place custom attribute classes

I am delving into custom validation attributes and am curious to know how others structure the projects. Where do you typically store custom attributes?

My first thought was to simply create a new folder and be done with it.

Any suggestions?

like image 327
Shawn Avatar asked Aug 23 '11 15:08

Shawn


2 Answers

My first thought was to simply create a new folder and be done with it.

It would depend on the nature of those attributes and what thety are supposed to do. For example if they are validation attributes you could put them into a Validators folder. If they are action filters you could put them in the ActionFilters folder, etc... so your initial thought is correct. Personally I group those attributes based on their function and place them in a separate folder which indicates this function.

like image 163
Darin Dimitrov Avatar answered Oct 18 '22 05:10

Darin Dimitrov


I use 2 different approaches.

  1. Set up a common Class Library to store common validation that will be used on many MVC applications. Then reference this library from your MVC application. You can use http://dataannotationsextensions.org/ to view the source code on how to setup this project.

  2. Place them in folders as suggested by Darin. This folder would be used to store custom validation. If you app was used to keep golf scores a custom validation only to the application could have something to do with a handicap calculation or something specific.

Thanks,

like image 24
Michael Grassman Avatar answered Oct 18 '22 04:10

Michael Grassman