我對Silex和Symfony相當陌生,我試圖用symfony表單組件創建表單。這工作正常,但它涉及到驗證/消毒我不知道該怎麼做。如何從Silex中的表單數據過濾html
當然,我知道$ app-> escape($ data)方法,但它似乎不符合我的需要。
我想在我調用$ form-> isValid()方法之前從提交的數據中轉義html標記。我不想使用html標籤使文本無效,只能從文本中將其移除/刪除,然後驗證獲得的值。
所以基本上我想給轉義的值,而不是原件或使用的形式。
我的問題是,只有在刪除html標籤後提交的文本爲空時,我纔會顯示錯誤消息。
我想寫一個自定義約束 - 因爲我沒有找到關於包中的html驗證的任何內容 - 但在這種情況下,我必須過濾/轉義兩次,首先在驗證之後再保存數據。
我想實現這樣的事情:
if ($request->getMethod() == 'POST') {
$comment = $request->get('comment');
if($comment) {
foreach($comment as &$value) {
$value = $app->escape($value);
}
$cleared = new Request(array(), array('comment' => $comment));
$form->bindRequest($cleared);
if ($form->isValid()) {
var_dump($form->getData());
}
}
}
感謝。
感謝您的回答,我希望有一個內置的過濾輸入支持。有點像約束,但應該清除這些值。 – Damien