0
我有一個允許爲空的數字輸入字段,但如果不是空的,我想返回驗證錯誤,例如輸入字母。Cakephp 2.5數字字段(int in db)並允許空不工作
此刻,如果我刪除允許空驗證工作就好了數字和notEmpty,但這個領域是可選的我該如何解決這個問題?
這裏是我的模型驗證:
'tickets' => array(
'numeric' => array(
'rule' => 'numeric',
'message' => 'Please enter only numbers',
'allowEmpty' => true,
),
),
再次,如果我設置allowEmpty爲false這個按預期工作。我一直在通過分離規則來玩弄它,但到目前爲止沒有運氣。任何幫助表示讚賞。
非常感謝您的回覆。但是我確實找到了問題的根源。問題在於cakephp使用表單助手在輸入字段上自動添加「輸入類型」。由於它是數據庫中的「類型INT」字段,因此它會添加一個「type」=>「number」,因此瀏覽器從不發送任何蛋糕數據來驗證是否鍵入了字母。現在,如果我將HTML輸入覆蓋爲「type」=>「text」(這是不準確的,因爲它是一個數字)現在數據被髮送到cakephp並進行驗證。也許您之前看過這個問題,還有其他建議嗎? – user3804467
這不是問題,它是HTML5瀏覽器的一個相當新的特性。您絕對不應該相信瀏覽器或用戶會發送正確的數據,並始終驗證您的輸入。對於問題描述,我的回答是適當的。如果你的問題是如何繞過瀏覽器的字段驗證,請做你的研究,如果需要的話打開一個新的問題。 – user221931