Valitron\Validator::getUniqueRuleName PHP Method

getUniqueRuleName() public method

public getUniqueRuleName ( $fields )
    public function getUniqueRuleName($fields)
    {
        if (is_array($fields)) {
            $fields = implode("_", $fields);
        }
        $orgName = "{$fields}_rule";
        $name = $orgName;
        $rules = $this->getRules();
        while (isset($rules[$name])) {
            $name = $orgName . "_" . rand(0, 10000);
        }
        return $name;
    }

Usage Example

 public function testUniqueRuleName()
 {
     $v = new Validator(array());
     $args = array("foo", "bar");
     $this->assertEquals("foo_bar_rule", $v->getUniqueRuleName($args));
     $this->assertEquals("foo_rule", $v->getUniqueRuleName("foo"));
     $v->addInstanceRule("foo_rule", function () {
     });
     $u = $v->getUniqueRuleName("foo");
     $this->assertRegExp("/^foo_rule_[0-9]{1,5}\$/", $u);
 }