Simple object state validation using Data Annotations and a custom action filter. Checkout the related blog post here