improve custom validation demo