public function isValid($value) { $result = new Result(['value' => true]); foreach ($this->validators as $validator) { if ($result && method_exists($validator, 'getSkipOnPass') && $validator->getSkipOnPass()) { continue; } if (!$result && method_exists($validator, 'getSkipOnFail') && $validator->getSkipOnFail()) { continue; } $validatorResult = $validator->isValid($value); if (!$validatorResult->getValue()) { $result->setValue(false); foreach ($validatorResult->getMessages() as $message) { $result->addMessage($message); } if (method_exists($validator, 'getHaltOnFail') && $validator->getHaltOnFail()) { return $result; } } if (method_exists($validator, 'getHaltOnPass') && $validator->getHaltOnPass()) { return $result; } } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (is_string($value)) { $value = trim($value); } if (!isset($value) || $value === null || $value === '') { $result->setValue(false); $result->addMessage('required'); } if (is_array($value) && count($value) == 0) { $result->setValue(false); $result->addMessage('required'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!$this->length->isValid($value)->getValue()) { $result->setValue(false); $result->addMessage('passwordLength'); } if (!preg_match($this->containAlphaRegEx, $value)) { $result->setValue(false); $result->addMessage('passwordAlpha'); } if (!preg_match($this->containNumRegEx, $value)) { $result->setValue(false); $result->addMessage('passwordNum'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!preg_match($this->regex, $value)) { $result->setValue(false); $result->addMessage('alpha'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!$value instanceof \DateTime) { $result->setValue(false); $result->addMessage('date'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!preg_match('/^\\d{1,2}$/', $value['month']) || !preg_match('/^\\d\\d\\d\\d$/', $value['year'])) { $result->setValue(false); $result->addMessage('creditCardExpiry'); return $result; } $month = (int) $value['month']; $year = (int) $value['year']; $compareYear = date('Y'); $compareMonth = date('n'); if ($month < 1 || $month > 12 || $year < $compareYear || $year == $compareYear && $month < $compareMonth) { $result->setValue(false); $result->addMessage('creditCardExpiry'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!($value < $this->compare)) { $result->setValue(false); $result->addMessage('lessThan'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!($value === $this->compare && !$value instanceof \DateTime) && !($value instanceof \DateTime && $this->compare instanceof \DateTime && $value == $this->compare)) { $result->setValue(false); $result->addMessage('equal'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!is_numeric($value)) { $result->setValue(false); $result->addMessage('float'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if ($value !== true && $value !== false) { $result->setValue(false); $result->addMessage('boolean'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!is_string($value)) { $result->setValue(false); $result->addMessage('string'); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); if (!preg_match('/' . $this->regex . '/', $value)) { $result->setValue(false); $result->addMessage(['regex', $this->regex]); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); $length = strlen($value); if ($length < $this->min || $length > $this->max) { $result->setValue(false); $result->addMessage(['length', $this->min, $this->max]); } return $result; }
public function isValid($value) { $result = new Result(["value" => true]); $value = preg_replace('/[- ]/', '', $value); foreach ($this->cardInfo as $regex) { if (preg_match('/^' . $regex . '$/', $value)) { return $result; } } $result->setValue(false); $result->addMessage('creditCard'); return $result; }
/** * PHPca's main method. Returns a result object holding * error and warning messages for all the files that have been analyzed. * * @param string $pathToPhpExecutable path to PHP executable for lint check * @param string $fileOrDirectory path to file or directory to check * @return object */ public function run($pathToPhpExecutable, $fileOrDirectory, Configuration $configuration = null) { if ($pathToPhpExecutable == '') { throw new Exception('No path to PHP executable specified'); } if ($fileOrDirectory == '') { throw new Exception('No file or directory to analyze'); } if (!is_null($configuration)) { $this->configuration = $configuration; } // Define our own additionl T_* token constants Constants::init(); // Set up the lint checker and make sure that given path points to a PHP binary $linter = new Linter($pathToPhpExecutable); // Create result object that collects the error and warning messages $this->result = new Result(); // Create a list of all rules to enforce $this->rules = $this->loadRules($this->configuration->getRules()); // List all PHP files in given path $phpFiles = $this->listFiles($fileOrDirectory, $this->configuration->getExtensions()); if (sizeof($phpFiles) == 0) { throw new Exception('No PHP files to analyze'); } $this->numberOfFiles = sizeof($phpFiles); foreach ($phpFiles as $phpFile) { // Remember that we have processed this file, // even if it generates no message at all. $this->result->addFile($phpFile); if ($this->isSkipped($phpFile)) { $this->result->addMessage(new Skipped($phpFile, 'Skipped')); } else { if ($linter->runLintCheck($phpFile)) { $file = Tokenizer::tokenize($phpFile, file_get_contents($phpFile)); $this->result->addNamespaces($phpFile, $file->getNamespaces()); $this->result->addClasses($phpFile, $file->getClasses()); $this->result->addFunctions($phpFile, $file->getFunctions()); $this->enforceRules($phpFile, $file); } else { $this->result->addMessage(new LintError($phpFile, $linter->getErrorMessages())); } } // Notify the progress printer that we have analyzed a file if (is_object($this->progressPrinter)) { $this->progressPrinter->showProgress($phpFile, $this->result, $this); } unset($phpFile); } // Return the result object containing all error and warning messages return $this->result; }
/** * @covers spriebsch\PHPca\Result::addMessage * @covers spriebsch\PHPca\Result::getNumberOfRuleErrors */ public function testGetNumberOfRuleErrors() { $result = new Result(); $result->addFile('testfile'); $error = new RuleError('testfile', 'error message'); $result->addMessage($error); $this->assertEquals(1, $result->getNumberOfRuleErrors('testfile')); }