[ Index ]

PHP Cross Reference of Web Application Component Toolkit

title

Body

[close]

/examples/apps/blog/lib/ -> entry.validator.php (source)

   1  <?php
   2  require_once WACT_ROOT . 'validation/validator.inc.php';
   3  
   4  class BlogEntryValidator extends Validator {
   5  	function BlogEntryValidator() {
   6          $this->addRule(new RequiredRule('entry'));
   7      }
   8  }
   9  
  10  class BlogEntryValidatorAdd extends BlogEntryValidator {
  11  	function BlogEntryValidatorAdd () {
  12          parent::BlogEntryValidator();
  13          $this->addRule(new RequiredRule('title'));
  14          $this->addRule(new SizeRangeRule('title', 1, 255));
  15          $this->addRule(new DbUniqueRule('title'));
  16      }
  17  }
  18  
  19  require_once WACT_ROOT . 'db/db.inc.php';
  20  
  21  class DbUniqueRule extends SingleFieldRule {
  22      var $Group = 'blog';
  23  	function DbUniqueRule($fieldname) {
  24          parent :: SingleFieldRule($fieldname);
  25      }
  26  	function validate(&$DataSource, &$ErrorList) {
  27          $value = $DataSource->get($this->fieldname);
  28          $value = mysql_escape_string($value);
  29          $sql = "SELECT * FROM blog_entries WHERE title='".$value."'";
  30          if (!is_null(DBC::getOneValue($sql))) {
  31              $ErrorList->addError($this->Group, 'UNIQUE', 
  32                  array('Field' => $this->fieldname)
  33              );
  34              return FALSE;
  35          }
  36          return TRUE;
  37      }
  38  }
  39  ?>


Generated: Sun Nov 28 19:36:09 2004 Cross-referenced by PHPXref 0.5