2016-08-04 8 views
-1

Ich habe eine Klasse für die Validierung von Benutzereingaben, und ich habe verschiedene Funktionen, um die Benutzereingabe abhängig von der Art der Dateneingabe zu validieren.Wie validiere ich Benutzereingaben, indem ich zuerst die Daten bereinigt und überprüfe, ob der Wert in PHP leer ist?

Zum Beispiel: Für einen Namen, eine Funktion, um den Namen der Validierung wird, ausgeführt werden, und Gleiches gilt für alle anderen allgemeinen Eingang erwarteten Benutzer Daten-

$input = new Validation(); 
$input->name($name); 
$input->username($username); 

Was will ich ihnen zu tun ist, zu sanieren, bevor auch nur zu versuchen um sie zu validieren und zu prüfen, ob sie leer sind, zuerst vor der Validierung. Ich dachte an einen Konstruktor, aber ich konnte die Parameter nicht zur Konstruktfunktion hinzufügen.

Ich konnte einen Scheck in jeder Funktion tun, aber das wie das Schreiben des Codes immer wieder sein würde:

Class Validation { 
    function checkEmpty($data) { 
     if(empty($data) { 
     return 0;} 
       } 
     function name($name) { 
      if (checkEmpty($name)==0) { die("name can't be empty");} else {//Do name validation 
    } } 

Also muss ich dies tun in jeder anderen Funktion. Gibt es einen besseren Weg, das zu erreichen?

+0

Woher kamen sie zuerst? $ _REQUEST (_POST/_GET)? Sie könnten es einfach dort behandeln oder das Array in den Validierungskonstruktor übergeben - aber das würde keinen Sinn ergeben und Sie können genauso gut eine statische Methode wie 'Validation :: validate ($ _ POST)' oder so etwas machen. – alzee

Antwort

0

Sie ein Array von Werten in einzelnen Methode übergeben können und überprüfen dann die Array-Werte mit der Tastenkombination in dem Verfahren, wie folgt:

$array=array('id'=>'1','name'=>'albert'); 
$obj->checkEmpty($array); //$obj is object of the class 

Dann in dem Verfahren nur das Array brechen und überprüfen Sie alle Felder für leere ..