Yii CMaskedTextField带有一个或两个数字0-99(数量)

问题描述:

我试图使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

面膜可能设置直通正则表达式: \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