Form builder with validation