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;
use Exception;
/**
* Validator - DuckBrain
*
@@ -77,7 +79,7 @@ class Validator
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
{
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
{
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
{
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
{
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
{
return filter_var($subject, FILTER_VALIDATE_URL);
return filter_var($subject, FILTER_VALIDATE_URL) !== false;
}
/**