Skip to content

Commit ec12aaf

Browse files
committed
refactor: simplify unique and required validation rule checks and optimize cleaning logic
Replace `toCollection()` calls with `has()` for validation rule checks, streamlining the logic. Simplify cleaning invalid rules using `keys()->intersect` and `except`.
1 parent 4671ee5 commit ec12aaf

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

resources/views/livewire/manage-fields-table.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class="h-4 w-4 text-gray-400 shrink-0"/>
8888
<div class="px-3 py-3 text-sm text-gray-600 dark:text-gray-400 truncate">
8989
@if($field->settings?->unique_per_entity_type)
9090
{{ __('custom-fields::custom-fields.common.unique') }}
91-
@elseif($field->validation_rules?->toCollection()->first(fn($rule) => $rule->name === 'required'))
91+
@elseif($field->validation_rules?->has('required'))
9292
{{ __('custom-fields::custom-fields.common.required') }}
9393
@endif
9494
</div>
@@ -178,7 +178,7 @@ class="h-4 w-4 text-gray-400 shrink-0"/>
178178
<div class="px-3 py-3 text-sm text-gray-600 dark:text-gray-400 opacity-60 truncate">
179179
@if($field->settings?->unique_per_entity_type)
180180
{{ __('custom-fields::custom-fields.common.unique') }}
181-
@elseif($field->validation_rules?->toCollection()->first(fn($rule) => $rule->name === 'required'))
181+
@elseif($field->validation_rules?->has('required'))
182182
{{ __('custom-fields::custom-fields.common.required') }}
183183
@endif
184184
</div>

src/Console/Commands/Upgrade/Steps/CleanMultiValueValidationRulesStep.php

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,19 @@ public function execute(bool $dryRun, Command $command): UpgradeStepResult
6969
$failed = 0;
7070

7171
foreach ($affectedFields as $field) {
72-
$rules = $field->validation_rules?->toCollection() ?? collect();
72+
$rules = $field->validation_rules ?? collect();
7373

74-
$invalidRules = $rules->filter(
75-
fn ($rule): bool => in_array($rule->name, self::STRING_ONLY_RULES, true)
76-
);
74+
$invalidKeys = $rules->keys()->intersect(self::STRING_ONLY_RULES);
7775

78-
if ($invalidRules->isEmpty()) {
76+
if ($invalidKeys->isEmpty()) {
7977
continue;
8078
}
8179

82-
$ruleNames = $invalidRules->pluck('name')->implode(', ');
80+
$ruleNames = $invalidKeys->implode(', ');
8381
$command->line(sprintf(" Processing field '%s' (type: %s, id: %s): removing [%s]", $field->name, $field->type, $field->id, $ruleNames));
8482

8583
if (! $dryRun) {
86-
$cleanedRules = $rules->reject(
87-
fn ($rule): bool => in_array($rule->name, self::STRING_ONLY_RULES, true)
88-
)->values()->toArray();
84+
$cleanedRules = $rules->except(self::STRING_ONLY_RULES)->toArray();
8985

9086
try {
9187
$field->update([

0 commit comments

Comments
 (0)