more explicit form validation