1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
21: class XCube_Validator
22: {
23: 24: 25: 26: 27: 28:
29: function isValid(&$form, $vars)
30: {
31: }
32: }
33:
34: class XCube_RequiredValidator extends XCube_Validator
35: {
36: function isValid(&$form, $vars)
37: {
38: return !$form->isNull();
39: }
40: }
41:
42: class XCube_MinlengthValidator extends XCube_Validator
43: {
44: function isValid(&$form, $vars)
45: {
46: if ($form->isNull()) {
47: return true;
48: }
49: else {
50: return strlen($form->toString()) >= $vars['minlength'];
51: }
52: }
53: }
54:
55: class XCube_MaxlengthValidator extends XCube_Validator
56: {
57: function isValid(&$form, $vars)
58: {
59: if ($form->isNull()) {
60: return true;
61: }
62: else {
63: return strlen($form->toString()) <= $vars['maxlength'];
64: }
65: }
66: }
67:
68: class XCube_MinValidator extends XCube_Validator
69: {
70: function isValid(&$form, $vars)
71: {
72: if ($form->isNull()) {
73: return true;
74: }
75: else {
76: return $form->toNumber() >= $vars['min'];
77: }
78: }
79: }
80:
81: class XCube_MaxValidator extends XCube_Validator
82: {
83: function isValid(&$form, $vars)
84: {
85: if ($form->isNull()) {
86: return true;
87: }
88: else {
89: return $form->toNumber() <= $vars['max'];
90: }
91: }
92: }
93:
94: class XCube_IntRangeValidator extends XCube_Validator
95: {
96: function isValid(&$form, $vars)
97: {
98: if ($form->isNull()) {
99: return true;
100: }
101: else {
102: return (intval($form->toNumber()) >= $vars['min'] && intval($form->toNumber()) <= $vars['max']);
103: }
104: }
105: }
106:
107: class XCube_EmailValidator extends XCube_Validator
108: {
109: function isValid(&$form, $vars)
110: {
111: if ($form->isNull()) {
112: return true;
113: }
114: else {
115: return preg_match("/^[_a-z0-9\-+!#$%&'*\/=?^`{|}~]+(\.[_a-z0-9\-+!#$%&'*\/=?^`{|}~]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i", $form->toString());
116: }
117: }
118: }
119:
120: class XCube_MaskValidator extends XCube_Validator
121: {
122: function isValid(&$form, $vars)
123: {
124: if ($form->isNull()) {
125: return true;
126: }
127: else {
128: return preg_match($vars['mask'], $form->toString());
129: }
130: }
131: }
132:
133: class XCube_ExtensionValidator extends XCube_Validator
134: {
135: function isValid(&$form, $vars)
136: {
137: if ($form->isNull()) {
138: return true;
139: }
140: else {
141: if (!is_a($form, "XCube_FileProperty")) {
142: return true;
143: }
144:
145: $extArr = explode(",", $vars['extension']);
146: foreach ($extArr as $ext) {
147: if (strtolower($form->mValue->getExtension()) == strtolower($ext)) {
148: return true;
149: }
150: }
151:
152: return false;
153: }
154: }
155: }
156:
157: class XCube_MaxfilesizeValidator extends XCube_Validator
158: {
159: function isValid(&$form, $vars)
160: {
161: if ($form->isNull()) {
162: return true;
163: }
164: else {
165: if (!is_a($form, "XCube_FileProperty")) {
166: return true;
167: }
168:
169: return ($form->mValue->getFileSize() <= $vars['maxfilesize']);
170: }
171: }
172: }
173:
174: ?>
175: