Data annotations were introduced with ASP.NET MVC as a declarative way to describe validation rules.
By using data annotation attributes, developers can decorate their models with validation rules that ASP.NET would use to generate validation logic both on the client and on the server.