Source of file WordsRule.php
Size: 1,795 Bytes - Last Modified: 2021-12-23T10:37:30+00:00
/var/www/docs.ssmods.com/process/src/src/Rules/WordsRule.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?php /** * This file is part of SilverWare. * * PHP version >=5.6.0 * * For full copyright and license information, please view the * LICENSE.md file that was distributed with this source code. * * @package SilverWare\Validator\Rules * @author Colin Tucker <colin@praxis.net.au> * @copyright 2017 Praxis Interactive * @license https://opensource.org/licenses/BSD-3-Clause BSD-3-Clause * @link https://github.com/praxisnetau/silverware-validator */ namespace SilverWare\Validator\Rules; /** * An extension of the range rule class for a words rule. * * @package SilverWare\Validator\Rules * @author Colin Tucker <colin@praxis.net.au> * @copyright 2017 Praxis Interactive * @license https://opensource.org/licenses/BSD-3-Clause BSD-3-Clause * @link https://github.com/praxisnetau/silverware-validator */ class WordsRule extends RangeRule { /** * Defines the default type for the rule. * * @var string * @config */ private static $default_type = 'words'; /** * Answers the test result of the validator rule on the given value. * * @param mixed $value * * @return boolean */ public function test($value) { if (!$this->isValid() || !$value) { return true; } $count = str_word_count($value); return ($count >= $this->min && $count <= $this->max); } /** * Answers the default message for the rule. * * @return string */ public function getDefaultMessage() { return sprintf( _t( __CLASS__ . '.DEFAULTMESSAGE', 'This value should contain between %d and %d words.' ), $this->min, $this->max ); } } |