[xoops-cvslog 1970] CVS update: xoops2jp/html/class

Back to archive index

Minahito minah****@users*****
2006年 1月 27日 (金) 17:01:51 JST


Index: xoops2jp/html/class/XCube_Validator.class.php
diff -u /dev/null xoops2jp/html/class/XCube_Validator.class.php:1.1.2.1
--- /dev/null	Fri Jan 27 17:01:51 2006
+++ xoops2jp/html/class/XCube_Validator.class.php	Fri Jan 27 17:01:51 2006
@@ -0,0 +1,163 @@
+<?php
+
+/**
+ *  This class defines a interface which XCube_ActionForm calls the check functions.
+ *  But this class is designing now, you should not write a code which dependents
+ * on the design of this class. We designed this class as static method class group
+ * with a reason which a program can not generate many instance quickly. However,
+ * if we will find better method to solve a problem, we will change it.
+ *
+ *  Don't use these classes directly, you should use XCube_ActionForm only.
+ * This is 'protected' accesser in the namespace of XCube_ActionForm.
+ */
+class XCube_Validator
+{
+	/**
+	 * @return bool
+	 */
+	function isValid(&$form, $vars)
+	{
+	}
+}
+
+class XCube_RequiredValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		return !$form->isNull();
+	}
+}
+
+class XCube_MinlengthValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return strlen($form->toString()) >= $vars['minlength'];
+		}
+	}
+}
+
+class XCube_MaxlengthValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return strlen($form->toString()) <= $vars['maxlength'];
+		}
+	}
+}
+
+class XCube_MinValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return $form->toNumber() >= $vars['min'];
+		}
+	}
+}
+
+class XCube_MaxValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return $form->toNumber() <= $vars['max'];
+		}
+	}
+}
+
+class XCube_IntRangeValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return (intval($form->toNumber()) >= $vars['min'] && intval($form->toNumber()) <= $vars['max']);
+		}
+	}
+}
+
+class XCube_EmailValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i", $form->toString());
+		}
+	}
+}
+
+class XCube_MaskValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			return preg_match($vars['mask'], $form->toString());
+		}
+	}
+}
+
+class XCube_ExtensionValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			if (!is_a($form, "XCube_XCube_FileProperty")) {
+				return true;
+			}
+			
+			$extArr = explode(",", $vars['extension']);
+			foreach ($extArr as $ext) {
+				if (strtolower($from->mValue->getExtension()) == strtolower($ext)) {
+					return true;
+				}
+			}
+
+			return false;
+		}
+	}
+}
+
+class XCube_MaxfilesizeValidator extends XCube_Validator
+{
+	function isValid(&$form, $vars)
+	{
+		if ($form->isNull()) {
+			return true;
+		}
+		else {
+			if (!is_a($form, "XCube_XCube_FileProperty")) {
+				return true;
+			}
+
+			return ($form->mValue->getFileSize() <= $vars['maxfilesize']);
+		}
+	}
+}
+
+?>
\ No newline at end of file


xoops-cvslog メーリングリストの案内
Back to archive index