lazyrecord\schema\RuntimeColumn::getLabel PHP Method

getLabel() public method

public getLabel ( )
    public function getLabel()
    {
        if ($label = $this->get('label')) {
            return _($label);
        }
        return ucfirst($this->name);
    }

Usage Example

Beispiel #1
0
 /**
  * Run validator to validate column
  *
  * A validator could be:
  *   1. a ValidationKit validator,
  *   2. a closure
  *   3. a function name
  *
  * The validation result must be returned as in following format:
  *
  *   boolean (valid or invalid, true or false)
  *
  *   array( boolean valid , string message )
  *
  *   ValidationKit\ValidationMessage object.
  *
  * This method returns
  *
  *   (object) {
  *       valid: boolean valid or invalid
  *       field: string field name
  *       message: 
  *   }
  */
 protected function _validateColumn(RuntimeColumn $column, $val, array $args)
 {
     // check for requried columns
     if ($column->required && ($val === '' || $val === NULL)) {
         return array('valid' => false, 'message' => sprintf(_('Field %s is required.'), $column->getLabel()), 'field' => $column->name);
     }
     // XXX: migrate this method to runtime column
     if ($validator = $column->validator) {
         if (is_callable($validator)) {
             $ret = call_user_func($validator, $val, $args, $this);
             if (is_bool($ret)) {
                 return array('valid' => $ret, 'message' => 'Validation failed.', 'field' => $column->name);
             } elseif (is_array($ret)) {
                 return array('valid' => $ret[0], 'message' => $ret[1], 'field' => $column->name);
             } else {
                 throw new Exception('Wrong validation result format, Please returns (valid,message) or (valid)');
             }
         } else {
             if (is_string($validator) && is_a($validator, 'ValidationKit\\Validator', true)) {
                 // it's a ValidationKit\Validator
                 $validator = $column->validatorArgs ? new $validator($column->get('validatorArgs')) : new $validator();
                 $ret = $validator->validate($val);
                 $msgs = $validator->getMessages();
                 $msg = isset($msgs[0]) ? $msgs[0] : 'Validation failed.';
                 return array('valid' => $ret, 'message' => $msg, 'field' => $column->name);
             } else {
                 throw new Exception("Unsupported validator");
             }
         }
     }
     if ($val && $column->validValues) {
         if ($validValues = $column->getValidValues($this, $args)) {
             // sort by index
             if (isset($validValues[0]) && !in_array($val, $validValues)) {
                 return array('valid' => false, 'message' => sprintf("%s is not a valid value for %s", $val, $column->name), 'field' => $column->name);
             } else {
                 $values = array_values($validValues);
                 foreach ($values as &$v) {
                     if (is_array($v)) {
                         $v = array_values($v);
                     }
                 }
                 if (!in_array($val, $values)) {
                     return array('valid' => false, 'message' => sprintf(_("%s is not a valid value for %s"), $val, $column->name), 'field' => $column->name);
                 }
             }
         }
     }
 }