Files
eatvio-infra/app/Rules/MinWords.php
Anatoliy Poloz 05de37a4d7 ci issues fix
2024-01-24 11:32:27 +03:00

29 lines
637 B
PHP

<?php
namespace App\Rules;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class MinWords implements ValidationRule
{
protected int $minWords;
public function __construct(int $minWords)
{
$this->minWords = $minWords;
}
/**
* Run the validation rule.
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$wordCount = count(preg_split('/\W+/u', $value, -1, PREG_SPLIT_NO_EMPTY));
if ($wordCount <= $this->minWords) {
$fail('validation.min_words_count')->translate(['min' => $this->minWords]);
}
}
}