Files
fil/docs/snippets/php/plugins/min_length_validator.md

54 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2026-06-01 23:40:55 +02:00
```php title="PHP"
<?php declare(strict_types=1);
use Kreuzberg\Kreuzberg;
class MinLengthValidator implements Validator {
private int $minLength;
public function __construct(int $minLength = 50) {
$this->minLength = $minLength;
}
public function name(): string {
return "min-length-validator";
}
public function version(): string {
return "1.0.0";
}
public function initialize(): void {
// Validation configuration loaded
}
public function shutdown(): void {
// Cleanup
}
public function validate(object $result, object $config): void {
$contentLength = strlen($result->content);
if ($contentLength < $this->minLength) {
throw new Exception(
sprintf(
"Content too short: %d < %d characters",
$contentLength,
$this->minLength
)
);
}
}
public function priority(): int {
return 100;
}
}
// Register validator with 50-character minimum
$validator = new MinLengthValidator(50);
Kreuzberg::registerValidator($validator);
echo "Min-length validator registered (minimum: 50 chars)\n";
```