Skip to content

Commit bc3faac

Browse files
authored
Merge pull request #101 from amirhossein-fzl/improvment-even-number-rule-performance
[1.x] Improvment even number rule performance
2 parents 814d78b + b77925b commit bc3faac

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Rules/ValidEvenNumber.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ class ValidEvenNumber implements Rule
1111
*/
1212
public function passes($attribute, $value): bool
1313
{
14+
if (! is_numeric($value)) {
15+
return false;
16+
}
17+
1418
$number = strval($value);
1519
$number = explode('.', $number);
1620

tests/Rules/ValidEvenNumberTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,20 @@ public function check_float_number_is_not_even()
6262

6363
$this->assertFalse($passes);
6464
}
65+
66+
/**
67+
* Test non-numeric values.
68+
*
69+
* @test
70+
*
71+
* @return void
72+
*/
73+
public function check_non_numeric_values()
74+
{
75+
$rules = ['even_number' => [new ValidEvenNumber]];
76+
$data = ['even_number' => 'abc'];
77+
$passes = $this->app['validator']->make($data, $rules)->passes();
78+
79+
$this->assertFalse($passes);
80+
}
6581
}

0 commit comments

Comments
 (0)