2011-11-19 91 views
0

我在使用複選框時遇到了codeigniter驗證過濾器的一些問題。我通常使用numeric篩選器複選框,假設它會過濾01,但現在我看到有幾個實例失敗。正則表達式驗證複選框輸入

有誰知道我可以在preg_match驗證複選框的正則表達式嗎?

我想這允許布爾和其他一些10nulltruefalse,空等等

回答

1

一個複選框只返回一個值。它的值(如其value=屬性所示)或「真」。如果複選框未選中,則不會在POST請求中傳遞。因此,對於驗證,您只需檢查兩件事:

  1. 它甚至被選中?
  2. 它的價值是否與你期望的一致?

所以:

if (isset($_POST['checkbox']) && ($_POST['checkbox'] == 'true') { //or whatever value you want 

應該做的伎倆很好。除非我誤解了你的問題,請在這種情況下發表評論。

1

複選框要麼有價值,要麼沒有價值。如果他們有價值,他們會被檢查,如果他們沒有,那麼他們不會被檢查。

正則表達式會在這裏嚴重矯枉過正,您只需要檢查提交的數據中是否存在複選框。

$checkBoxChecked = isset ($_POST['checkbox_name_goes_here']);