rules() public static method

Returns a list of available validation rules, or the configuration details of a single rule.
public static rules ( string $name = null ) : mixed
$name string Optional name of a rule to get the details of. If not specified, an array of all available rule names is returned. Otherwise, returns the details of a single rule. This can be a regular expression string, a closure object, or an array of available rule formats made up of string regular expressions, closures, or both.
return mixed Returns either an single array of rule names, or the details of a single rule.
コード例 #1
0
ファイル: ValidatorTest.php プロジェクト: nilamdoc/KYCGlobal
 /**
  * Tests that the rules state is reset when calling `Validator::__init()`.
  */
 public function testStateReset()
 {
     $this->assertNull(Validator::rules('foo'));
     Validator::add('foo', '/foo/');
     $this->assertEqual('/foo/', Validator::rules('foo'));
     Validator::__init();
     $this->assertNull(Validator::rules('foo'));
 }
コード例 #2
0
ファイル: g11n.php プロジェクト: unionofrad/framework
 *
 * The regular expression for a locale aware rule is retrieved using the `Catalog`
 * class. To add support for more locales and rules have a look at the `li3_lldr`
 * and `li3_cldr` projects.
 *
 * Further enables support for multibyte strings through the `Multibyte` class by
 * overwriting rules (currently just `lengthBetween`).
 *
 * @link https://github.com/UnionOfRAD/li3_lldr
 * @link https://github.com/UnionOfRAD/li3_cldr
 * @see lithium\g11n\Catalog
 * @see lithium\g11n\Multibyte
 * @see lithium\util\Validator
 */
foreach (array('phone', 'postalCode', 'ssn') as $name) {
    $regex = Validator::rules($name);
    Validator::add($name, function ($value, $format, $options) use($name, $regex) {
        if ($format !== 'any') {
            $regex = Catalog::read(true, "validation.{$name}", $format);
        }
        if (!$regex) {
            $message = "Cannot find regular expression for validation rule `{$name}` ";
            $message .= "using format/locale `{$format}`.";
            throw new RuntimeException($message);
        }
        return preg_match($regex, $value);
    });
}
Validator::add('lengthBetween', function ($value, $format, $options) {
    $length = Multibyte::strlen($value);
    $options += array('min' => 1, 'max' => 255);