diff --git a/README.md b/README.md index 0f7a8fc..337412b 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ V::lang('ar'); * `dateBefore` - Field is a valid date and is before the given date * `dateAfter` - Field is a valid date and is after the given date * `contains` - Field is a string and contains the given string - * `arrayContains` - Field is an array or a scalar value and contains the given array + * `subset` - Field is an array or a scalar and all elements are contained in the given array * `containsUnique` - Field is an array and contains unique values * `creditCard` - Field is a valid credit card number * `instanceOf` - Field contains an instance of the given class diff --git a/lang/en.php b/lang/en.php index 6b11ba6..0c9e5a1 100644 --- a/lang/en.php +++ b/lang/en.php @@ -13,6 +13,8 @@ return array( 'in' => "contains invalid value", 'notIn' => "contains invalid value", 'ip' => "is not a valid IP address", + 'ipv4' => "is not a valid IPv4 address", + 'ipv6' => "is not a valid IPv6 address", 'email' => "is not a valid email address", 'url' => "is not a valid URL", 'urlActive' => "must be an active domain", @@ -32,5 +34,5 @@ return array( 'lengthMax' => "must not exceed %d characters", 'instanceOf' => "must be an instance of '%s'", 'containsUnique' => "must contain unique elements only", - 'arrayContains' => "contains invalid value", + 'subset' => "contains an item that is not in the list", ); diff --git a/lang/ru.php b/lang/ru.php index 01cd448..44957b2 100644 --- a/lang/ru.php +++ b/lang/ru.php @@ -2,17 +2,19 @@ return array( 'required' => "обязательно для заполнения", - 'equals' => "должно содержать '%s'", + 'equals' => "должно совпадать со значением '%s'", 'different' => "должно отличаться от '%s'", 'accepted' => "должно быть указано", 'numeric' => "должно содержать числовое значение", 'integer' => "должно быть числом", 'length' => "должно быть длиннее, чем %d", - 'min' => "должно быть больше, чем %s", - 'max' => "должно быть меньше, чем %s", + 'min' => "должно быть не менее, чем %s", + 'max' => "должно быть не более, чем %s", 'in' => "содержит неверное значение", 'notIn' => "содержит неверное значение", 'ip' => "не является валидным IP адресом", + 'ipv4' => "не является валидным IPv4 адресом", + 'ipv6' => "не является валидным IPv6 адресом", 'email' => "не является валидным email адресом", 'url' => "не является валидной ссылкой", 'urlActive' => "содержит не активную ссылку", @@ -32,5 +34,5 @@ return array( 'lengthMax' => "должно содержать менее %d символов", 'instanceOf' => "должно быть объектом класса '%s'", 'containsUnique' => "должно содержать только уникальные элементы", - 'arrayContains' => "содержит неверное значение", + 'subset' => "содержит элемент, не указанный в списке", ); diff --git a/src/Valitron/Validator.php b/src/Valitron/Validator.php index 8ab5f69..93c06be 100644 --- a/src/Valitron/Validator.php +++ b/src/Valitron/Validator.php @@ -481,7 +481,7 @@ class Validator * @param array $params * @return bool */ - protected function validateArrayContains($field, $value, $params) + protected function validateSubset($field, $value, $params) { if (!isset($params[0])) { return false; diff --git a/tests/Valitron/ValidateTest.php b/tests/Valitron/ValidateTest.php index d33977d..ba59117 100644 --- a/tests/Valitron/ValidateTest.php +++ b/tests/Valitron/ValidateTest.php @@ -941,53 +941,53 @@ class ValidateTest extends BaseTestCase $this->assertFalse($v->validate()); } - public function testArrayContainsValid() + public function testSubsetValid() { // numeric values $v = new Validator(array('test_field' => array(81, 3, 15))); - $v->rule('arrayContains', 'test_field', array(45, 15, 3, 7, 28, 81)); + $v->rule('subset', 'test_field', array(45, 15, 3, 7, 28, 81)); $this->assertTrue($v->validate()); // string values $v = new Validator(array('test_field' => array('white', 'green', 'blue'))); - $v->rule('arrayContains', 'test_field', array('green', 'orange', 'blue', 'yellow', 'white', 'brown')); + $v->rule('subset', 'test_field', array('green', 'orange', 'blue', 'yellow', 'white', 'brown')); $this->assertTrue($v->validate()); // mixed values $v = new Validator(array('test_field' => array(81, false, 'orange'))); - $v->rule('arrayContains', 'test_field', array(45, 'green', true, 'orange', null, 81, false)); + $v->rule('subset', 'test_field', array(45, 'green', true, 'orange', null, 81, false)); $this->assertTrue($v->validate()); // string value and validation target cast to array $v = new Validator(array('test_field' => 'blue')); - $v->rule('arrayContains', 'test_field', 'blue'); + $v->rule('subset', 'test_field', 'blue'); $this->assertTrue($v->validate()); } - public function testArrayContainsInvalid() + public function testSubsetInvalid() { $v = new Validator(array('test_field' => array(81, false, 'orange'))); - $v->rule('arrayContains', 'test_field', array(45, 'green', true, 'orange', null, false, 7)); + $v->rule('subset', 'test_field', array(45, 'green', true, 'orange', null, false, 7)); $this->assertFalse($v->validate()); } - public function testArrayContainsInvalidValue() + public function testSubsetInvalidValue() { $v = new Validator(array('test_field' => 'black 45')); - $v->rule('arrayContains', 'test_field', array('black', 45)); + $v->rule('subset', 'test_field', array('black', 45)); $this->assertFalse($v->validate()); } - public function testArrayContainsInvalidRule() + public function testSubsetInvalidRule() { // rule value has invalid type $v = new Validator(array('test_field' => array('black', 45))); - $v->rule('arrayContains', 'test_field', 'black 45'); + $v->rule('subset', 'test_field', 'black 45'); $this->assertFalse($v->validate()); // rule value not specified $v = new Validator(array('test_field' => array('black', 45))); - $v->rule('arrayContains', 'test_field'); + $v->rule('subset', 'test_field'); $this->assertFalse($v->validate()); }