예제 #1
0
 protected function validate()
 {
     $fieldName = $this->elementPostValue($this->getFieldsetName(), 'name');
     if ($fieldName == '') {
         return rex_i18n::msg('minfo_field_error_name');
     }
     if (preg_match('/[^a-zA-Z0-9\\_]/', $fieldName)) {
         return rex_i18n::msg('minfo_field_error_chars_name');
     }
     // Pruefen ob schon eine Spalte mit dem Namen existiert (nur beim add noetig)
     if (!$this->isEditMode()) {
         // die tabelle selbst checken
         if ($this->tableManager->hasColumn($this->addPrefix($fieldName))) {
             return rex_i18n::msg('minfo_field_error_unique_name');
         }
         // das meta-schema checken
         $sql = rex_sql::factory();
         $sql->setQuery('SELECT * FROM ' . $this->tableName . ' WHERE name="' . $this->addPrefix($fieldName) . '" LIMIT 1');
         if ($sql->getRows() == 1) {
             return rex_i18n::msg('minfo_field_error_unique_name');
         }
     }
     return parent::validate();
 }
 function validate()
 {
     global $I18N_META_INFOS;
     $fieldName = $this->getFieldValue('name');
     if ($fieldName == '') {
         return $I18N_META_INFOS->msg('field_error_name');
     }
     if (preg_match('/[^a-zA-Z0-9\\_]/', $fieldName)) {
         return $I18N_META_INFOS->msg('field_error_chars_name');
     }
     // Prüfen ob schon eine Spalte mit dem Namen existiert (nur beim add nötig)
     if (!$this->isEditMode()) {
         $sql = new rex_sql();
         $sql->setQuery('SELECT * FROM ' . $this->tableName . ' WHERE name="' . $this->addPrefix($fieldName) . '" LIMIT 1');
         if ($sql->getRows() == 1) {
             return $I18N_META_INFOS->msg('field_error_unique_name');
         }
     }
     return parent::validate();
 }