v5.0.0 update

This commit is contained in:
Mohit Panjwani
2021-11-30 18:58:19 +05:30
parent d332712c22
commit 082d5cacf2
1253 changed files with 88309 additions and 71741 deletions

View File

@ -1,67 +0,0 @@
<?php
namespace Crater\Rules;
use Illuminate\Contracts\Validation\Rule;
class UniqueNumber implements Rule
{
public $id;
public $class;
public $type;
/**
* Create a new rule instance.
* @param string $class
* @param int $id
* @return void
*/
public function __construct(string $class = null, int $id = null)
{
$this->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;
}
$this->type = $attribute;
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()
{
$type = str_replace('_', ' ', $this->type);
return "{$type} is already used.";
}
}