[TASK] Streamline phpdoc annotations in EXT:extbase
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Validation / Validator / NotEmptyValidator.php
1 <?php
2 namespace TYPO3\CMS\Extbase\Validation\Validator;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Validator for not empty values.
19 */
20 class NotEmptyValidator extends AbstractValidator
21 {
22 /**
23 * This validator always needs to be executed even if the given value is empty.
24 * See AbstractValidator::validate()
25 *
26 * @var bool
27 */
28 protected $acceptsEmptyValues = false;
29
30 /**
31 * Checks if the given property ($propertyValue) is not empty (NULL, empty string, empty array or empty object).
32 *
33 * @param mixed $value The value that should be validated
34 */
35 public function isValid($value)
36 {
37 if ($value === null) {
38 $this->addError(
39 $this->translateErrorMessage(
40 'validator.notempty.null',
41 'extbase'
42 ),
43 1221560910
44 );
45 }
46 if ($value === '') {
47 $this->addError(
48 $this->translateErrorMessage(
49 'validator.notempty.empty',
50 'extbase'
51 ),
52 1221560718
53 );
54 }
55 if (is_array($value) && empty($value)) {
56 $this->addError(
57 $this->translateErrorMessage(
58 'validator.notempty.empty',
59 'extbase'
60 ),
61 1347992400
62 );
63 }
64 if (is_object($value) && $value instanceof \Countable && $value->count() === 0) {
65 $this->addError(
66 $this->translateErrorMessage(
67 'validator.notempty.empty',
68 'extbase'
69 ),
70 1347992453
71 );
72 }
73 }
74 }