2011-04-27 41 views
2

我有一個通用對象的模型類,其中包含要執行輸入的驗證數組。類似:來自通用源的jQuery/PHP驗證

class Dog extends GenericObject 
{ 
    $this->validations = array ("breed" => array ("max_length" => 15)); 
} 

這是所有罰款和花花公子,但我試圖找出一個辦法通過JavaScript來評估某個領域的有效性。到目前爲止,我一直在使用一個AJAX調用來觸發Controller來檢查Model。大。但是,對於某些驗證,例如長度,匹配正則表達式,調用PHP似乎是非常荒謬的系統密集型。

我知道我明顯可以在Javascript中重複驗證,但我知道必須有一種方法來做到這一點,而不必重複我的驗證。我想到了一個常見的JSON或XML文件,但這些文件是可編輯的,因此可能會受到攻擊。

對於如何最好地實現這一目標,您有什麼建議嗎?

編輯:我也考慮讓PHP生成相關的jQuery驗證,但不認爲這將被認爲是非常好的形式?

+0

你是什麼意思*「我想到一個常見的JSON或XML文件,但這些將是可編輯的,因此可能是脆弱的」*?如果服務器上的文件是可編輯的,那麼您可能會遇到安全漏洞。 – Tgr 2011-04-27 18:00:33

回答

0

我們所做的是在我們的(PHP)模型中定義所有的驗證規則,然後從這些基本規則中生成相關的jQuery驗證規則。這工作正常,但唯一的缺點是,當您使用非平凡的驗證方法時,您最終也會在Javascript中定義自定義方法。對我們來說這只是一個小缺點,因爲我們沒有很多這些規則,所以我想這取決於你的情況,如果這對你來說是一個好方法。

但我很想聽聽其他一些(更好的)方法。