added new rules

This commit is contained in:
2023-05-08 10:40:04 +10:00
parent 4e9d97268f
commit 8190839823
3 changed files with 177 additions and 0 deletions

View File

@@ -2,11 +2,15 @@
namespace App\Providers;
use App\Rules\RequiredIfAny;
use App\Rules\Uniqueish;
use Illuminate\Support\ServiceProvider;
use Exception;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use PDOException;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Validator;
class AppServiceProvider extends ServiceProvider
{
@@ -31,5 +35,17 @@ class AppServiceProvider extends ServiceProvider
$public = config("filesystems.disks.{$diskName}.public", false);
return $public;
});
Validator::extend('uniqueish', function ($attribute, $value, $parameters, $validator) {
$table = $parameters[0];
$column = isset($parameters[1]) === true ? $parameters[1] : null;
$rule = new Uniqueish($table, $column);
return $rule->passes($attribute, $value);
});
Rule::macro('requiredIfAny', function ($table, ...$columns) {
return new RequiredIfAny($table, ...$columns);
});
}
}