preliminary form validation and better currency handling in custom directive