if(preg_match($pattern,$argData))
return 1;
else
return $argLabel;
} // function CheckNumDatameine funktion liefert mir die ganze zeit $argLabel zurück statt ein TRUE.
ganz einfach: es 'matcht' nicht -> else wird ausgeführt.
echo mal das $pattern, vielleicht stimmt da was nicht
du kannst das aber auch ohne regex machen, zb:
function checkNumericalData(...)
{
if(!is_numeric($argData))
return false; //die funktion wird dann beendet
if($argData < $argMinLength or $argData < $argMaxLength)
return false;
return true; // wird nur aufgerufen wenn nicht vorher schon returnt wurde
}
Kleiner Tipp am Rande: du kannst statt
$pattern="/[1]{".$argMinLength.",".$argMaxLength."}$/";
auch einfach
$pattern="/[2]{$argMinLength,$argMaxLength}$/";
schreiben, das erkennt php automatisch (nur bei "-anführungszeichen, nicht bei ')