THEMA:

Validierung aus Query 13 Jahre 3 Wochen her #10881

  • Autor
  • lu74
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Registered
  • Beiträge: 3
  • Dank erhalten: 0
Ich habe die Validierung von Dateiendungen schon etwas modifiziert um
bestimmte Zahlenkombinationen zu validieren.

Nun meine Frage:
Ist es möglich die zu validierenden Zahlen auch aus der DB zu bekommen?

Mein Ansatz sieht so aus:

Das ganze ist eine Funktion, die ich unter Validierungs Skripte angelegt habe.
//Auslesen der Codes aus der db

$this->execPieceByName('ff_InitLib'); 
$valcodes = ff_select("select code from #__utr");
$validation = '';
if ($valcodes)
    foreach ($valcodes as $valcode) 
        $validation .= "$valcode->code,";
return $validation;


// Validierung 

//$this->execPieceByName('ff_InitLib'); 

function ff_validate_code(element, message)
{
    if(element.value != '')
    {
      dbcodes_string = $validation;
     //dbcodes_string = '1234,1111'; //So funktioniert das.

        dbcodes = dbcodes_string.split(',');
        code = element.value.substring(element.value.length-4,element.value.length); //

        code = element.value;


        for(p=0;p<dbcodes.length;p++) {
            if (code == dbcodes[p])
              return '';
        }

        if (message=='') message = 'Please check the file '+element.value+'!\nThe .' + ext + ' is an invalid file type!\n' + 'Only doc,pdf,zip or ogd files are allowed for upload!\n\n'
        ff_validationFocus(element.name);
        return message;
    }
    return'';
} // ff_validate_code

Leider bekomme ich die SQL Abfrage nicht übergeben. Vielleicht habe ich auch noch ein dickes NeuJahrsBrett vorm Kopf.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Re:Validierung aus Query 13 Jahre 3 Wochen her #10895

  • Autor
  • lu74
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Registered
  • Beiträge: 3
  • Dank erhalten: 0
Also nach etlichen weiteren Versuchen und diversen Ansätzen stehe ich nun doch im Wald, den ich vor lauter Bäumen nicht mehr sehe.

Was ich aufbauen will:

ich habe ein formular mit
1. einem text input (begrenzt auf 4 zeichen)
2. zwei radio buttons (noch nicht wichtig)
3. einen Submit Button

Jetzt soll im input feld eine vierstellige zahl eingeben werden können, deren validierungs string aus der oben beschrieben db tabelle stammt.

dazu habe ich folgendes in die formular initialisierung gebaut
// Daten aus der DB laden und leere JS Arrays erstellen
<?php
echo 'var validations = new Array();';
echo 'var dbcodes_string = new Array();';

$db = JFactory::getDBO();
$db->setQuery("select code from #__utr");
$entries = $db->loadObjectList();

// Daten ins Array schreiben

foreach($entries As $valcode){
echo "validations.push('$valcode->code".","."');"."\n";
}
?>


function ff_ValTest_init()
{
} // ff_ValTest_init

Dann habe ich eine neue Validierungsfunktion gebaut (abgewandelt aus der Dateiendungsprüfung für den Upload)
function ff_validate_code(element, message)
{

    if(element.value != '')
    {

dbcodes_string = dbcodes_string.push(validations);
//dbcodes_string = '1234,1111,5678';  //das HIER funktioniert!!!
        dbcode = dbcodes_string.split(',');
        code = element.value.substring(element.value.length-4,element.value.length); //

        code = element.value;


        for(p = 0;p < 5;p++) {
            if (code == dbcode[p])
              return '';
        }

        if (message=='') message = 'Code NICHT vorhanden!\n\n'
        ff_validationFocus(element.name);
        return message;
    }
    // return '';
    if (message=='') message = 'Bitte Code eintragen!\n\n'
    ff_validationFocus(element.name);
    return message;
} // ff_validate_code

Im Quellcode sehe ich folgendes:
var validations = new Array();var dbcodes_string = new Array();validations.push('1111,');
validations.push('1234,');
validations.push('5678,');
function ff_ValTest_init()
{}

// und bei der validierungs funktion
function ff_validate_code(element,message)
{if(element.value!='')
{dbcodes_string=dbcodes_string.push(validations);dbcode=dbcodes_string.split(',');code=element.value.substring(element.value.length-4,element.value.length);code=element.value;for(p=0;p<5;p++){if(code==dbcode[p])
return '';}if(message=='')message='Code NICHT vorhanden!\n\n'
ff_validationFocus(element.name);return message;}if(message=='')message='Bitte Code eintragen!\n\n'
ff_validationFocus(element.name);return message;}

Nun habe ich die Befürchtung das ich die Var nicht richtig verarbeite.
Da meine Java Script Kenntnisse an seine Grenzen stossen, besonders bei der Verarbeitung un Übergabe der Varibalen, muss ich hier noch mals nach Hilfe fragen.

Besten Dank für jeden Tip.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Moderatoren: ForumSupport
Ladezeit der Seite: 0.050 Sekunden

Angebot

Sommer Special! Alle Mitgliedschaften zum Sonderpreis!

Prio Support, alle Extensions und alle Templates in einem Paket.

Hier geht's zur Bestellung

Crosstec hilft sparen!

Falls Sie neu bei Crosstec sind aber bereits einen Formulargenerator bei einem anderen Hersteller gekauft haben, dann bekommen sie von uns einen Rabatt von 25% auf unsere 1-Jahres und Pro-Mitgliedschaften

Wie Sie an den Rabatt kommen?

Schreiben Sie uns einfach eine kurze Email mit beigelegten Kaufbeleg (z.B. PayPal Quittung) an sales@crosstec.org.

Live Support Chat Opened!

Join our Discord chat here and enter the Crosstec channels to receive live support and talk directly to the team!

Wir unterstützen die Joomla Community

Crosstec unterstützt weltweit alle offiziellen Joomla! User Groups und Organisatoren von Joomla! Days die bei Joomla.org registriert sind.

Falls das auf dich zutrifft und du eines unserer Produkte brauchst, schreib uns eine kurze Email an info@crosstec.org und du bekommst eine Flatrate-Mitgliedschaft geschenkt!