with validation for card data