2016-08-04 17 views
-1

我有一個用戶輸入驗證類,我有不同的功能來驗證用戶輸入取決於數據輸入的類型。如何通過首先進行消毒並檢查php中的值是否爲空來驗證用戶輸入?

舉個例子:一個名字,驗證名稱的功能將被執行,這同樣適用於所有其他的一般預期的用戶輸入數據 -

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

我想要做的就是甚至還試圖之前它們進行消毒在驗證之前驗證它們並檢查它們是否爲空。我想過使用構造函數,但我無法將參數添加到構造函數中。

我能做到在每一個功能的檢查,但是這將是像一次又一次編寫代碼:

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 
    } } 

所以我必須這樣做,在所有其他功能。有沒有更好的方法來實現這一目標?

+0

他們從哪裏來的? $ _REQUEST(_POST/_GET)?你可以在那裏處理它,或者將數組傳遞給驗證構造函數 - 但那樣做沒有意義,你可能只需製作一個靜態方法,比如'Validation :: validate($ _ POST)'或者其他東西。 – alzee

回答

0

可以通過在單一的方法值的陣列,然後檢查在該方法中使用組合鍵陣列值如下:

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

然後,在該方法只是打破陣列和檢查空所有字段..

相關問題