mirror of
https://github.com/vlucas/valitron.git
synced 2025-12-30 23:01:52 +00:00
ipv4 and ipv6 rule and tests added
This commit is contained in:
parent
971da213a3
commit
e5ae2c9a5f
@ -493,6 +493,30 @@ class Validator
|
||||
return filter_var($value, \FILTER_VALIDATE_IP) !== false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that a field is a valid IP v4 address
|
||||
*
|
||||
* @param string $field
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
protected function validateIpv4($field, $value)
|
||||
{
|
||||
return filter_var($value, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV4) !== false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that a field is a valid IP v6 address
|
||||
*
|
||||
* @param string $field
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
protected function validateIpv6($field, $value)
|
||||
{
|
||||
return filter_var($value, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV6) !== false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that a field is a valid e-mail address
|
||||
*
|
||||
|
||||
@ -645,6 +645,34 @@ class ValidateTest extends BaseTestCase
|
||||
$this->assertFalse($v->validate());
|
||||
}
|
||||
|
||||
public function testIpv4Valid()
|
||||
{
|
||||
$v = new Validator(array('ip' => '127.0.0.1'));
|
||||
$v->rule('ipv4', 'ip');
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testIpv4Invalid()
|
||||
{
|
||||
$v = new Validator(array('ip' => 'FE80::0202:B3FF:FE1E:8329'));
|
||||
$v->rule('ipv4', 'ip');
|
||||
$this->assertFalse($v->validate());
|
||||
}
|
||||
|
||||
public function testIpv6Valid()
|
||||
{
|
||||
$v = new Validator(array('ip' => 'FE80::0202:B3FF:FE1E:8329'));
|
||||
$v->rule('ipv6', 'ip');
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testIpv6Invalid()
|
||||
{
|
||||
$v = new Validator(array('ip' => '127.0.0.1'));
|
||||
$v->rule('ipv6', 'ip');
|
||||
$this->assertFalse($v->validate());
|
||||
}
|
||||
|
||||
public function testEmailValid()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester', 'email' => 'chester@tester.com'));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user