added form validation with angular, fixes #31