fix(validator): Improve filter_var robustness in validation methods

This commit is contained in:
kj
2025-10-10 21:17:41 -03:00
parent 2f50532e13
commit 674c9d5ff4

View File

@@ -2,6 +2,8 @@
namespace Libs; namespace Libs;
use Exception;
/** /**
* Validator - DuckBrain * Validator - DuckBrain
* *
@@ -77,7 +79,7 @@ class Validator
return call_user_func_array($rule, $arguments); return call_user_func_array($rule, $arguments);
} }
throw new \Exception('Bad rule: "' . preg_split('/::/', $rule)[1] . '"'); throw new Exception('Bad rule: "' . preg_split('/::/', $rule)[1] . '"');
} }
/** /**
@@ -138,7 +140,7 @@ class Validator
*/ */
public static function int(mixed $subject): bool public static function int(mixed $subject): bool
{ {
return filter_var($subject, FILTER_VALIDATE_INT); return filter_var($subject, FILTER_VALIDATE_INT) !== false;
} }
/** /**
@@ -150,7 +152,7 @@ class Validator
*/ */
public static function float(mixed $subject): bool public static function float(mixed $subject): bool
{ {
return filter_var($subject, FILTER_VALIDATE_FLOAT); return filter_var($subject, FILTER_VALIDATE_FLOAT) !== false;
} }
/** /**
@@ -162,7 +164,7 @@ class Validator
*/ */
public static function bool(mixed $subject): bool public static function bool(mixed $subject): bool
{ {
return filter_var($subject, FILTER_VALIDATE_BOOLEAN); return filter_var($subject, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) !== null;
} }
/** /**
@@ -174,7 +176,7 @@ class Validator
*/ */
public static function email(mixed $subject): bool public static function email(mixed $subject): bool
{ {
return filter_var($subject, FILTER_VALIDATE_EMAIL); return filter_var($subject, FILTER_VALIDATE_EMAIL) !== false;
} }
/** /**
@@ -186,7 +188,7 @@ class Validator
*/ */
public static function url(mixed $subject): bool public static function url(mixed $subject): bool
{ {
return filter_var($subject, FILTER_VALIDATE_URL); return filter_var($subject, FILTER_VALIDATE_URL) !== false;
} }
/** /**