Validation specs simplified with custom matcher