Valitron\Validator::addRule PHP Method

addRule() public static method

Register new validation rule callback
public static addRule ( string $name, mixed $callback, string $message = null )
$name string
$callback mixed
$message string
    public static function addRule($name, $callback, $message = null)
    {
        if ($message === null) {
            $message = static::ERROR_DEFAULT;
        }
        static::assertRuleCallback($callback);
        static::$_rules[$name] = $callback;
        static::$_ruleMessages[$name] = $message;
    }

Usage Example

 /**
  * Fix bug where rules messages added with Validator::addRule were replaced after creating validator instance
  */
 public function testRuleMessagesReplacedAfterConstructor()
 {
     $customMessage = 'custom message';
     $ruleName = 'customRule';
     $fieldName = 'fieldName';
     Validator::addRule($ruleName, function () {
     }, $customMessage);
     $v = new Validator(array($fieldName => $fieldName));
     $v->rule($ruleName, $fieldName);
     $v->validate();
     $messages = $v->errors();
     $this->assertArrayHasKey($fieldName, $messages);
     $this->assertEquals(ucfirst("{$fieldName} {$customMessage}"), $messages[$fieldName][0]);
 }
All Usage Examples Of Valitron\Validator::addRule