i)写在Controller里:这是最简单的方法,但是也是最不推荐的方法, 因为不能体现分层思想
ii)写在BLL中:如果对一个数据验证的时候,需要牵扯到别的数据,就应该把验证写在这一层,比如一个Article Model的Category值是1,查询这个分类是否存在
iii)写在Model中:一些底层的标准应该写在这一层,因为这些标准在任何情况下都不能违反,比如帐号名长度不能超过20个字符
http://www.cnblogs.com/dozer/archive/2010/04/12/MVC-DataAnnotations.html