2014-12-08 24 views
0

我試圖使CMaskedTextField作爲數量輸入字段,其基數= 0,最大= 99. 無法計算出掩碼和/或charMapYii CMaskedTextField帶有一個或兩個數字0-99(數量)

我已經試過:

$this->widget('CMaskedTextField', array(
       'model' => $position, 
       'attribute' => 'Quantity', 
       'mask' => '99', 
       'value' => $currentQuantity, 
       'htmlOptions' => array('size' => 2, 'maxlength'=>2, 'minlength'=>1) 
     ), true); 

但這種面膜意味着只能有2個數字

可選(我猜的js會做的工作,如果沒有cmaskedtextfield):當用戶輸入清除它應該轉換爲'0'。

+0

你可以在你的問題發表你已經在視圖和控制器/行動中都試過嗎? – 2014-12-08 08:42:03

回答

0

面膜可能設置直通正則表達式: \d{1,2} 在示範規則()可以定義:

array('attributeName', 'match', 'pattern' => '/\d{1,2}/', 
'message' => '{attribute} can only contain digits from 0 to 99'), 

沒有皈依爲0,但對於用戶的明確消息。

+0

CMaskedTextField的mask屬性在\ d {1,2} – 2014-12-08 12:34:26

+0

@SergeyLobanov的值下工作不正常,您似乎已將'CHtml :: textField'擴展爲'CMaskedTextField'。它真的需要嗎?爲什麼不使用正則表達式模式的規則進行驗證?你熟悉正則表達式嗎? – 2014-12-08 13:02:06

相關問題