fields validation with error messages