fix(validator): Improve filter_var robustness in validation methods
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user