@@ 16-36 (lines=21) @@ | ||
13 | ||
14 | use Sokil\Mongo\Structure; |
|
15 | ||
16 | class EqualsValidator extends \Sokil\Mongo\Validator |
|
17 | { |
|
18 | ||
19 | public function validateField(Structure $document, $fieldName, array $params) |
|
20 | { |
|
21 | if (!$document->get($fieldName)) { |
|
22 | return; |
|
23 | } |
|
24 | ||
25 | if ($document->get($fieldName) === $params['to']) { |
|
26 | return; |
|
27 | } |
|
28 | ||
29 | if (!isset($params['message'])) { |
|
30 | $params['message'] = 'Field "' . $fieldName . '" must be equals to "' . $params['to'] . '" in model ' . get_called_class(); |
|
31 | } |
|
32 | ||
33 | $document->addError($fieldName, $this->getName(), $params['message']); |
|
34 | } |
|
35 | } |
|
36 |
@@ 16-36 (lines=21) @@ | ||
13 | ||
14 | use Sokil\Mongo\Structure; |
|
15 | ||
16 | class NotEqualsValidator extends \Sokil\Mongo\Validator |
|
17 | { |
|
18 | ||
19 | public function validateField(Structure $document, $fieldName, array $params) |
|
20 | { |
|
21 | if (!$document->get($fieldName)) { |
|
22 | return; |
|
23 | } |
|
24 | ||
25 | if ($document->get($fieldName) !== $params['to']) { |
|
26 | return; |
|
27 | } |
|
28 | ||
29 | if (!isset($params['message'])) { |
|
30 | $params['message'] = 'Field "' . $fieldName . '" must be equals to "' . $params['to'] . '" in model ' . get_called_class(); |
|
31 | } |
|
32 | ||
33 | $document->addError($fieldName, $this->getName(), $params['message']); |
|
34 | } |
|
35 | } |
|
36 |
@@ 16-36 (lines=21) @@ | ||
13 | ||
14 | use Sokil\Mongo\Structure; |
|
15 | ||
16 | class RegexpValidator extends \Sokil\Mongo\Validator |
|
17 | { |
|
18 | ||
19 | public function validateField(Structure $document, $fieldName, array $params) |
|
20 | { |
|
21 | if (!$document->get($fieldName)) { |
|
22 | return; |
|
23 | } |
|
24 | ||
25 | if (preg_match($params['pattern'], $document->get($fieldName))) { |
|
26 | return; |
|
27 | } |
|
28 | ||
29 | if (!isset($params['message'])) { |
|
30 | $params['message'] = 'Field "' . $fieldName . '" not match regexp ' . $params['pattern'] . ' in model ' . get_called_class(); |
|
31 | } |
|
32 | ||
33 | $document->addError($fieldName, $this->getName(), $params['message']); |
|
34 | } |
|
35 | } |
|
36 |