Если у вас есть набор допустимых значений, на мой взгляд, самый простой способ - поместить его в массив и просмотреть его в правиле валидации:
Validator::extend('abc', function ($attribute, $value, $parameter, $validator) {
$allowedPatterns = [
'A',
'C',
'B',
'A/B',
'A/B',
'A/C/B',
'A/B/C',
'C/A',
'C/B',
'C/A/B',
'C/B/A',
'B/A',
'B/C',
'B/A/C',
'B/C/A',
];
foreach ($allowedPatterns as $pattern) {
if ($value === $pattern) {
return true;
}
}
return false;
});
Вы можете сохранить этот массив в конфигурации, в модели,где вам нужно.