class = $class; $this->id = $id; } /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { if ($value && count(explode("-", $value)) > 2) { $number = explode("-",$value); $uniqueNumber = $number[0].'-'.sprintf('%06d', intval($number[1])); } else { $uniqueNumber = $value; } if ($this->id && $this->class::where('id', $this->id)->where($attribute, $uniqueNumber)->first()) { return true; } if ($this->class::where($attribute, $uniqueNumber)->first()) { return false; } return true; } /** * Get the validation error message. * * @return string */ public function message() { return 'Invalid number passed.'; } }