defaults and validation for reusable 'purchase' form