Skip to content

Commit f87d5b1

Browse files
Merge branch 'master' into listContains
2 parents c4ea1db + 4cf1860 commit f87d5b1

File tree

5 files changed

+79
-65
lines changed

5 files changed

+79
-65
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tidelift: "packagist/vlucas/valitron"

lang/es.php

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
11
<?php
22

33
return array(
4-
'required' => "es obligatorio",
5-
'equals' => "debe ser igual a '%s'",
6-
'different' => "debe ser diferente a '%s'",
7-
'accepted' => "debe ser aceptado",
8-
'numeric' => "debe ser numérico",
9-
'integer' => "debe ser un entero",
10-
'length' => "debe ser mas largo de %d",
11-
'min' => "debe ser mayor de %s",
12-
'max' => "debe ser menor de %s",
13-
'listContains' => "contiene un valor inválido",
14-
'in' => "contiene un valor inválido",
15-
'notIn' => "contiene un valor inválido",
16-
'ip' => "no es una dirección IP",
17-
'email' => "no es un correo electrónico válido",
18-
'url' => "no es una URL",
19-
'urlActive' => "debe ser un dominio activo",
20-
'alpha' => "debe contener solo letras a-z",
21-
'alphaNum' => "debe contener solo letras a-z o números 0-9",
22-
'slug' => "debe contener solo letras a-z, números 0-9, barras y guiones bajos",
23-
'regex' => "contiene caracteres inválidos",
24-
'date' => "no es una fecha válida",
25-
'dateFormat' => "debe ser una fecha con formato '%s'",
26-
'dateBefore' => "debe ser una fecha antes de '%s'",
27-
'dateAfter' => "debe ser una fecha después de '%s'",
28-
'contains' => "debe contener %s",
29-
'boolean' => "debe ser booleano",
30-
'lengthBetween' => "debe tener entre %d y %d caracteres",
31-
'creditCard' => "debe ser un numero de tarjeta de crédito válido",
32-
"lengthMin" => "debe tener al menos %d caracteres",
33-
"lengthMax" => "debe tener menos de %d caracteres",
34-
"instanceOf" => "debe ser una instancia de '%s'"
4+
'required' => "es obligatorio",
5+
'equals' => "debe ser igual a '%s'",
6+
'different' => "debe ser diferente a '%s'",
7+
'accepted' => "debe ser aceptado",
8+
'numeric' => "debe ser numérico",
9+
'integer' => "debe ser un entero",
10+
'length' => "debe ser mas largo de %d",
11+
'min' => "debe ser mayor de %s",
12+
'max' => "debe ser menor de %s",
13+
'in' => "contiene un valor inválido",
14+
'notIn' => "contiene un valor inválido",
15+
'ip' => "no es una dirección IP",
16+
'email' => "no es un correo electrónico válido",
17+
'url' => "no es una URL",
18+
'urlActive' => "debe ser un dominio activo",
19+
'alpha' => "debe contener solo letras a-z",
20+
'alphaNum' => "debe contener solo letras a-z o números 0-9",
21+
'slug' => "debe contener solo letras a-z, números 0-9, barras y guiones bajos",
22+
'regex' => "contiene caracteres inválidos",
23+
'date' => "no es una fecha válida",
24+
'dateFormat' => "debe ser una fecha con formato '%s'",
25+
'dateBefore' => "debe ser una fecha antes de '%s'",
26+
'dateAfter' => "debe ser una fecha después de '%s'",
27+
'contains' => "debe contener %s",
28+
'boolean' => "debe ser booleano",
29+
'lengthBetween' => "debe tener entre %d y %d caracteres",
30+
'creditCard' => "debe ser un numero de tarjeta de crédito válido",
31+
"lengthMin" => "debe tener al menos %d caracteres",
32+
"lengthMax" => "debe tener menos de %d caracteres",
33+
"instanceOf" => "debe ser una instancia de '%s'",
34+
'containsUnique' => "debe contener solo valores únicos",
35+
'subset' => "contiene un elemento que no está en la lista",
36+
'arrayHasKeys' => "no contiene todas las claves requeridas"
3537
);

lang/pt-br.php

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
11
<?php
22

33
return array(
4-
'required' => "é obrigatório",
5-
'equals' => "deve ser o mesmo que '%s'",
6-
'different' => "deve ser diferente de '%s'",
7-
'accepted' => "deve ser aceito",
8-
'numeric' => "deve ser um número",
9-
'integer' => "deve ser um inteiro",
10-
'length' => "deve ter %d caracteres",
11-
'min' => "deve ser maior que %s",
12-
'max' => "deve ser menor que %s",
13-
'listContains' => "contém um valor inválido",
14-
'in' => "contém um valor inválido",
15-
'notIn' => "contém um valor inválido",
16-
'ip' => "não é um IP válido",
17-
'email' => "não é um email válido",
18-
'url' => "não é uma URL válida",
19-
'urlActive' => "deve ser um domínio ativo",
20-
'alpha' => "deve conter as letras a-z",
21-
'alphaNum' => "deve conter apenas letras a-z e/ou números 0-9",
22-
'slug' => "deve conter apenas letras a-z, números 0-9, ou os caracteres - ou _",
23-
'regex' => "contém caracteres inválidos",
24-
'date' => "não é uma data válida",
25-
'dateFormat' => "deve ser uma data no formato '%s'",
26-
'dateBefore' => "deve ser uma data anterior a '%s'",
27-
'dateAfter' => "deve ser uma data posterior a '%s'",
28-
'contains' => "deve conter %s",
29-
'boolean' => "deve ser um booleano",
30-
'lengthBetween' => "deve estar entre %d e %d caracteres",
31-
'creditCard' => "deve ser um numero de cartão de credito válido",
32-
'lengthMin' => "deve ter ao menos %d caracteres",
33-
'lengthMax' => "não deve exceder %d caracteres",
34-
'instanceOf' => "deve ser uma instância de '%s'"
35-
);
4+
'required' => "é obrigatório",
5+
'equals' => "deve ser o mesmo que '%s'",
6+
'different' => "deve ser diferente de '%s'",
7+
'accepted' => "deve ser aceito",
8+
'numeric' => "deve ser um número",
9+
'integer' => "deve ser um inteiro",
10+
'length' => "deve ter %d caracteres",
11+
'min' => "deve ser maior que %s",
12+
'max' => "deve ser menor que %s",
13+
'in' => "contém um valor inválido",
14+
'notIn' => "contém um valor inválido",
15+
'ip' => "não é um IP válido",
16+
'email' => "não é um email válido",
17+
'url' => "não é uma URL válida",
18+
'urlActive' => "deve ser um domínio ativo",
19+
'alpha' => "deve conter as letras a-z",
20+
'alphaNum' => "deve conter apenas letras a-z e/ou números 0-9",
21+
'slug' => "deve conter apenas letras a-z, números 0-9, ou os caracteres - ou _",
22+
'regex' => "contém caracteres inválidos",
23+
'date' => "não é uma data válida",
24+
'dateFormat' => "deve ser uma data no formato '%s'",
25+
'dateBefore' => "deve ser uma data anterior a '%s'",
26+
'dateAfter' => "deve ser uma data posterior a '%s'",
27+
'contains' => "deve conter %s",
28+
'boolean' => "deve ser um booleano",
29+
'lengthBetween' => "deve estar entre %d e %d caracteres",
30+
'creditCard' => "deve ser um numero de cartão de credito válido",
31+
'lengthMin' => "deve ter ao menos %d caracteres",
32+
'lengthMax' => "não deve exceder %d caracteres",
33+
'instanceOf' => "deve ser uma instância de '%s'",
34+
'containsUnique' => "deve conter apenas valores únicos",
35+
'subset' => "contém um item que não está na lista",
36+
'arrayHasKeys' => "não contém todas as chaves requeridas"
37+
);

src/Valitron/Validator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ protected function validateSubset($field, $value, $params)
512512
if (!is_array($params[0])) {
513513
$params[0] = array($params[0]);
514514
}
515-
if (is_scalar($value)) {
515+
if (is_scalar($value) || is_null($value)) {
516516
return $this->validateIn($field, $value, $params);
517517
}
518518

tests/Valitron/ValidateTest.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ public function testLengthMinValid()
484484
$v->rule('lengthMin', 'str', 4);
485485
$this->assertTrue($v->validate());
486486
}
487-
487+
488488
public function testLengthMinValidAltSyntax()
489489
{
490490
$v = new Valitron\Validator(array('username' => 'martha'));
@@ -1749,6 +1749,15 @@ public function testSubsetInvalidRule()
17491749
$this->assertFalse($v->validate());
17501750
}
17511751

1752+
public function testSubsetAcceptNullValue()
1753+
{
1754+
// rule value equals null
1755+
$v = new Validator(array('test_field' => null));
1756+
$v->rule('required', 'test_field');
1757+
$v->rule('subset', 'test_field', array('black', 45));
1758+
$this->assertFalse($v->validate());
1759+
}
1760+
17521761
public function testContainsUniqueValid()
17531762
{
17541763
// numeric values

0 commit comments

Comments
 (0)