abstract function doValidate created