示例#1
0
文件: Model.php 项目: reoring/sabel
 protected function setupModelValidator(Sabel_Validator $validator)
 {
     $metadata = $this->model->getMetadata();
     $columns = $metadata->getColumns();
     $validators = $this->validators;
     foreach ($this->inputNames as $inputName) {
         if (!isset($columns[$inputName])) {
             continue;
         }
         $column = $columns[$inputName];
         if ($column->increment) {
             continue;
         }
         if (!$column->nullable) {
             $validator->add($column->name, "required");
         }
         if ($column->isString()) {
             $validator->add($column->name, "strwidth({$column->max})");
         } elseif ($column->isNumeric()) {
             $validator->add($column->name, "max({$column->max})");
             $validator->add($column->name, "min({$column->min})");
             if ($column->isInt()) {
                 $validator->add($column->name, "integer");
             } else {
                 // float, double
                 $validator->add($column->name, "numeric");
             }
         } elseif ($column->isBoolean()) {
             $validator->add($column->name, "boolean");
         } elseif ($column->isDate()) {
             $validator->add($column->name, "date");
         } elseif ($column->isDatetime()) {
             $validator->add($column->name, "datetime");
         }
     }
 }
示例#2
0
文件: Object.php 项目: reoring/sabel
 protected function setupValidator(Sabel_Validator $validator)
 {
     $keys = array();
     $validators = $this->validators;
     foreach ($this->inputNames as $inputName) {
         $keys[$inputName] = true;
         if (!isset($validators[$inputName])) {
             continue;
         }
         $validator->add($inputName, $validators[$inputName]);
         unset($validators[$inputName]);
     }
     if ($validators) {
         foreach ($validators as $inputName => $v) {
             if (strpos($inputName, ",") === false) {
                 continue;
             }
             $comp = true;
             foreach (explode(",", $inputName) as $_inputName) {
                 if (!isset($keys[$_inputName])) {
                     $comp = false;
                     break;
                 }
             }
             if ($comp) {
                 $validator->add($inputName, $v);
             }
         }
     }
 }