Skip to content

Commit 3e698b8

Browse files
committed
Don't validate against empty fields
1 parent 99c5987 commit 3e698b8

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

Tests/Unit/ValidationTest.php

+12-1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,18 @@ public function testComparison() : void
132132
$gtDate = '2023-01-02';
133133
$ltDate = '2022-12-31';
134134

135+
$crud->equal = $date;
136+
$crud->not_equal = $gtDate;
137+
$crud->gt_field = $gtDate;
138+
$crud->gte_field = $date;
139+
$crud->lt_field = $ltDate;
140+
$crud->lte_field = $date;
141+
$crud->eq_field = $date;
142+
$crud->neq_field = $ltDate;
143+
$validator->validate();
144+
$errors = $validator->getErrors();
145+
$this->assertEmpty($errors);
146+
135147
$crud->equal = $date;
136148
$crud->not_equal = $gtDate;
137149
$crud->gt_field = $gtDate;
@@ -978,7 +990,6 @@ public function testUnique() : void
978990
$crud->product_code = 'NWTCFV-91';
979991
$validator->validate();
980992
$errors = $validator->getErrors();
981-
// fwrite(STDERR, print_r($errors, true));
982993
$this->assertCount(1, $errors);
983994
$this->assertContains('NWTCFV-91 is not unique', $errors['product_code']);
984995
}

src/PHPFUI/ORM/Validator.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ private function validate_eq_field(mixed $value, array $parameters, array $field
489489
$field = $parameters[0] ?? '';
490490
$compare = $this->record[$field];
491491

492-
return $value == $compare ? '' : \PHPFUI\ORM::trans('.validator.eq_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
492+
return empty($compare) || $value == $compare ? '' : \PHPFUI\ORM::trans('.validator.eq_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
493493
}
494494

495495
/**
@@ -512,7 +512,7 @@ private function validate_gt_field(mixed $value, array $parameters, array $field
512512
$field = $parameters[0] ?? '';
513513
$compare = $this->record[$field];
514514

515-
return $value > $compare ? '' : \PHPFUI\ORM::trans('.validator.gt_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
515+
return empty($compare) || $value > $compare ? '' : \PHPFUI\ORM::trans('.validator.gt_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
516516
}
517517

518518
/**
@@ -524,7 +524,7 @@ private function validate_gte_field(mixed $value, array $parameters, array $fiel
524524
$field = $parameters[0] ?? '';
525525
$compare = $this->record[$field];
526526

527-
return $value >= $compare ? '' : \PHPFUI\ORM::trans('.validator.gte_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
527+
return empty($compare) || $value >= $compare ? '' : \PHPFUI\ORM::trans('.validator.gte_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
528528
}
529529

530530
/**
@@ -596,7 +596,7 @@ private function validate_lt_field(mixed $value, array $parameters, array $field
596596
$field = $parameters[0] ?? '';
597597
$compare = $this->record[$field];
598598

599-
return $value < $compare ? '' : \PHPFUI\ORM::trans('.validator.lt_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
599+
return empty($compare) || $value < $compare ? '' : \PHPFUI\ORM::trans('.validator.lt_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
600600
}
601601

602602
/**
@@ -608,7 +608,7 @@ private function validate_lte_field(mixed $value, array $parameters, array $fiel
608608
$field = $parameters[0] ?? '';
609609
$compare = $this->record[$field];
610610

611-
return $value <= $compare ? '' : \PHPFUI\ORM::trans('.validator.lte_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
611+
return empty($compare) || $value <= $compare ? '' : \PHPFUI\ORM::trans('.validator.lte_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
612612
}
613613

614614
/**
@@ -705,7 +705,7 @@ private function validate_neq_field(mixed $value, array $parameters, array $fiel
705705
$field = $parameters[0] ?? '';
706706
$compare = $this->record[$field];
707707

708-
return $value != $compare ? '' : \PHPFUI\ORM::trans('.validator.neq_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
708+
return empty($compare) || $value != $compare ? '' : \PHPFUI\ORM::trans('.validator.neq_field', ['value' => $value, 'field' => $field, 'compare' => $compare]);
709709
}
710710

711711
/**

0 commit comments

Comments
 (0)