Ergebnis 1 bis 7 von 7

Thema: Eingabe von 0 verhindern

  1. #1
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard Eingabe von 0 verhindern

    Ich bräuchte etwas Hilfe.

    Es geht mir darum, eine Eingabe von 0 zu unterbinden, aber es klappt nicht, wenn man auf den Button "Speichern und Schließen" geht, wird die Eingabe von 0 akzeptiert, was ich aber nicht möchte!

    (Probiere in der 3 beta!, darum der 'sql'- Eintrag)

    Meine DCA Definition

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_module']['fields']['nlsh_piwik_id_site'] = array
                                                                    (
                                        
    'label'              => &$GLOBALS['TL_LANG']['tl_module']['nlsh_piwik_id_site'],
                                        
    'exclude'            => true,
                                        
    'inputType'          => 'text',
                                        
    'load_callback'      => array(array('tl_module_piwik_impressum','checkIdSite')),
                                        
    'save_callback'      => array(array('tl_module_piwik_impressum','checkIdSite')),
                                        
    'eval'               => array('tl_class' => 'w50' ,'mandatory' => true'maxlength' => 10,'rgxp' => 'digit'),
                                        
    'sql'                => "int(10) unsigned NOT NULL"
                                                                    
    ); 
    Meine Klasse tl_module_piwik_impressum
    PHP-Code:
        public function checkIdSite($Field)
        {
            if (
    $Field == 0) return '';
            else return 
    $Field;
        } 
    Hab ich eine Evaluation übersehen?

    Danke im voraus.

    Nils

  2. #2
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hi,

    probier das mal

    PHP-Code:
        public function checkIdSite($Field
        { 
            if (
    $Field == 0
              throw new 
    Exception('Wert darf nicht 0 sein');
            return 
    $Field
        } 
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  3. #3
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard Vielen Dank @the_scrat

    hab jetzt nur den save_callback nach deinem Code geändert.

    Leider ergibt dies jetzt ein
    PHP-Code:
    Fatal errorUncaught exception Exception with message Wert darf nicht 0 sein thrown in... 
    Schmeisst mich aber komplett aus dem Programm, soll heißen, jeder weiß zwar das dies falsch war, aber weiter geht es auch nicht.

    Danke trotzdem für deinen Tipp, hat vielleicht noch jemand anders eine Idee, oder kann ich diese "Fehleingabe" nur per Prüfung im Content- Modul und einer Fehlermeldung dort "beheben lassen"?

    Vielen Dank im voraus

    Nils

  4. #4
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hmmm, das ist komisch,
    ich habs gestern sogar kurz getestet und ich erhalte lediglich eine Contao-Typische Fehlermeldung und am Feld selbst eine rote fette Schrift, wie es halt sein sollte.

    Im System wird sehr oft mit throw new Exception() gearbeitet.

    Siehe Screenshot, so siehts bei mir aus
    Angehängte Grafiken Angehängte Grafiken
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #5
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard Vielen Dank für deine Mühe

    genau dein Ergebnis hätte ich gern.

    Vielleicht funktioniert es nicht in der Beta von Contao 3.xx.xx?

    Werde mal testen unter Contao 2.xx.xx, mache ich morgen,

    vielen, vielen Dank Nils

  6. #6
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard Hab mal probiert

    Also, in der Contao 2.xx.xx funktioniert die Ausgabe der Exception wunderbar.

    Nur in der beta der 3er Version nicht.

    Hab mal im Core nach einer Exception- Ausgabe im DCA gesucht und mir die Events angesehen.
    Wenn man dort für zwei Events versucht, den selben Alias anzugeben, gibt es ebenfalls eine Fatal error- Meldung mit Abbruch und keinen Fehlertext.

    Scheint also ein Fehler im Core zu sein.

    Vielen Dank für die Hilfe, den Ansatz kannte ich noch nicht.

    Nils

  7. #7
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.614
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hab mal ein Ticket erfasst, damit das nicht vergessen geht: https://github.com/contao/core/issues/4481
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •