| @@ 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 | ||