Merge branch 'master' into listContains

This commit is contained in:
Willem Wollebrants 2019-08-15 16:37:50 +02:00 committed by GitHub
commit f87d5b1905
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 79 additions and 65 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
tidelift: "packagist/vlucas/valitron"

View File

@ -1,35 +1,37 @@
<?php <?php
return array( return array(
'required' => "es obligatorio", 'required' => "es obligatorio",
'equals' => "debe ser igual a '%s'", 'equals' => "debe ser igual a '%s'",
'different' => "debe ser diferente a '%s'", 'different' => "debe ser diferente a '%s'",
'accepted' => "debe ser aceptado", 'accepted' => "debe ser aceptado",
'numeric' => "debe ser numérico", 'numeric' => "debe ser numérico",
'integer' => "debe ser un entero", 'integer' => "debe ser un entero",
'length' => "debe ser mas largo de %d", 'length' => "debe ser mas largo de %d",
'min' => "debe ser mayor de %s", 'min' => "debe ser mayor de %s",
'max' => "debe ser menor de %s", 'max' => "debe ser menor de %s",
'listContains' => "contiene un valor inválido", 'in' => "contiene un valor inválido",
'in' => "contiene un valor inválido", 'notIn' => "contiene un valor inválido",
'notIn' => "contiene un valor inválido", 'ip' => "no es una dirección IP",
'ip' => "no es una dirección IP", 'email' => "no es un correo electrónico válido",
'email' => "no es un correo electrónico válido", 'url' => "no es una URL",
'url' => "no es una URL", 'urlActive' => "debe ser un dominio activo",
'urlActive' => "debe ser un dominio activo", 'alpha' => "debe contener solo letras a-z",
'alpha' => "debe contener solo letras a-z", 'alphaNum' => "debe contener solo letras a-z o números 0-9",
'alphaNum' => "debe contener solo letras a-z o números 0-9", 'slug' => "debe contener solo letras a-z, números 0-9, barras y guiones bajos",
'slug' => "debe contener solo letras a-z, números 0-9, barras y guiones bajos", 'regex' => "contiene caracteres inválidos",
'regex' => "contiene caracteres inválidos", 'date' => "no es una fecha válida",
'date' => "no es una fecha válida", 'dateFormat' => "debe ser una fecha con formato '%s'",
'dateFormat' => "debe ser una fecha con formato '%s'", 'dateBefore' => "debe ser una fecha antes de '%s'",
'dateBefore' => "debe ser una fecha antes de '%s'", 'dateAfter' => "debe ser una fecha después de '%s'",
'dateAfter' => "debe ser una fecha después de '%s'", 'contains' => "debe contener %s",
'contains' => "debe contener %s", 'boolean' => "debe ser booleano",
'boolean' => "debe ser booleano", 'lengthBetween' => "debe tener entre %d y %d caracteres",
'lengthBetween' => "debe tener entre %d y %d caracteres", 'creditCard' => "debe ser un numero de tarjeta de crédito válido",
'creditCard' => "debe ser un numero de tarjeta de crédito válido", "lengthMin" => "debe tener al menos %d caracteres",
"lengthMin" => "debe tener al menos %d caracteres", "lengthMax" => "debe tener menos de %d caracteres",
"lengthMax" => "debe tener menos de %d caracteres", "instanceOf" => "debe ser una instancia de '%s'",
"instanceOf" => "debe ser una instancia de '%s'" 'containsUnique' => "debe contener solo valores únicos",
'subset' => "contiene un elemento que no está en la lista",
'arrayHasKeys' => "no contiene todas las claves requeridas"
); );

View File

@ -1,35 +1,37 @@
<?php <?php
return array( return array(
'required' => "é obrigatório", 'required' => "é obrigatório",
'equals' => "deve ser o mesmo que '%s'", 'equals' => "deve ser o mesmo que '%s'",
'different' => "deve ser diferente de '%s'", 'different' => "deve ser diferente de '%s'",
'accepted' => "deve ser aceito", 'accepted' => "deve ser aceito",
'numeric' => "deve ser um número", 'numeric' => "deve ser um número",
'integer' => "deve ser um inteiro", 'integer' => "deve ser um inteiro",
'length' => "deve ter %d caracteres", 'length' => "deve ter %d caracteres",
'min' => "deve ser maior que %s", 'min' => "deve ser maior que %s",
'max' => "deve ser menor que %s", 'max' => "deve ser menor que %s",
'listContains' => "contém um valor inválido", 'in' => "contém um valor inválido",
'in' => "contém um valor inválido", 'notIn' => "contém um valor inválido",
'notIn' => "contém um valor inválido", 'ip' => "não é um IP válido",
'ip' => "não é um IP válido", 'email' => "não é um email válido",
'email' => "não é um email válido", 'url' => "não é uma URL válida",
'url' => "não é uma URL válida", 'urlActive' => "deve ser um domínio ativo",
'urlActive' => "deve ser um domínio ativo", 'alpha' => "deve conter as letras a-z",
'alpha' => "deve conter as letras a-z", 'alphaNum' => "deve conter apenas letras a-z e/ou números 0-9",
'alphaNum' => "deve conter apenas letras a-z e/ou números 0-9", 'slug' => "deve conter apenas letras a-z, números 0-9, ou os caracteres - ou _",
'slug' => "deve conter apenas letras a-z, números 0-9, ou os caracteres - ou _", 'regex' => "contém caracteres inválidos",
'regex' => "contém caracteres inválidos", 'date' => "não é uma data válida",
'date' => "não é uma data válida", 'dateFormat' => "deve ser uma data no formato '%s'",
'dateFormat' => "deve ser uma data no formato '%s'", 'dateBefore' => "deve ser uma data anterior a '%s'",
'dateBefore' => "deve ser uma data anterior a '%s'", 'dateAfter' => "deve ser uma data posterior a '%s'",
'dateAfter' => "deve ser uma data posterior a '%s'", 'contains' => "deve conter %s",
'contains' => "deve conter %s", 'boolean' => "deve ser um booleano",
'boolean' => "deve ser um booleano", 'lengthBetween' => "deve estar entre %d e %d caracteres",
'lengthBetween' => "deve estar entre %d e %d caracteres", 'creditCard' => "deve ser um numero de cartão de credito válido",
'creditCard' => "deve ser um numero de cartão de credito válido", 'lengthMin' => "deve ter ao menos %d caracteres",
'lengthMin' => "deve ter ao menos %d caracteres", 'lengthMax' => "não deve exceder %d caracteres",
'lengthMax' => "não deve exceder %d caracteres", 'instanceOf' => "deve ser uma instância de '%s'",
'instanceOf' => "deve ser uma instância de '%s'" 'containsUnique' => "deve conter apenas valores únicos",
); 'subset' => "contém um item que não está na lista",
'arrayHasKeys' => "não contém todas as chaves requeridas"
);

View File

@ -512,7 +512,7 @@ class Validator
if (!is_array($params[0])) { if (!is_array($params[0])) {
$params[0] = array($params[0]); $params[0] = array($params[0]);
} }
if (is_scalar($value)) { if (is_scalar($value) || is_null($value)) {
return $this->validateIn($field, $value, $params); return $this->validateIn($field, $value, $params);
} }

View File

@ -484,7 +484,7 @@ class ValidateTest extends BaseTestCase
$v->rule('lengthMin', 'str', 4); $v->rule('lengthMin', 'str', 4);
$this->assertTrue($v->validate()); $this->assertTrue($v->validate());
} }
public function testLengthMinValidAltSyntax() public function testLengthMinValidAltSyntax()
{ {
$v = new Valitron\Validator(array('username' => 'martha')); $v = new Valitron\Validator(array('username' => 'martha'));
@ -1749,6 +1749,15 @@ class ValidateTest extends BaseTestCase
$this->assertFalse($v->validate()); $this->assertFalse($v->validate());
} }
public function testSubsetAcceptNullValue()
{
// rule value equals null
$v = new Validator(array('test_field' => null));
$v->rule('required', 'test_field');
$v->rule('subset', 'test_field', array('black', 45));
$this->assertFalse($v->validate());
}
public function testContainsUniqueValid() public function testContainsUniqueValid()
{ {
// numeric values // numeric values