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