1: <?php
 2: 
 3: /**
 4:  * This file is part of the Nette Framework (https://nette.org)
 5:  *
 6:  * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
 7:  *
 8:  * For the full copyright and license information, please view
 9:  * the file license.txt that was distributed with this source code.
10:  */
11: 
12: namespace Nette\Forms;
13: 
14: use Nette;
15: 
16: 
17: 
18: /**
19:  * Single validation rule or condition represented as value object.
20:  *
21:  * @author     David Grudl
22:  */
23: final class Rule extends Nette\Object
24: {
25:     /** type */
26:     const CONDITION = 1;
27: 
28:     /** type */
29:     const VALIDATOR = 2;
30: 
31:     /** type */
32:     const FILTER = 3;
33: 
34:     /** @var IFormControl */
35:     public $control;
36: 
37:     /** @var mixed */
38:     public $operation;
39: 
40:     /** @var mixed */
41:     public $arg;
42: 
43:     /** @var int (CONDITION, VALIDATOR, FILTER) */
44:     public $type;
45: 
46:     /** @var bool */
47:     public $isNegative = FALSE;
48: 
49:     /** @var string (only for VALIDATOR type) */
50:     public $message;
51: 
52:     /** @var Rules (only for CONDITION type)  */
53:     public $subRules;
54: 
55: }
56: