Yii. Маска ввода. Поле CMaskedTextField
CMaskedTextField генерирует текстовое поле с маской ввода. Это поле помогает пользователю вводить данные, соответствующие необходимому формату данных.
Виджет реализован на основе JQuery-плагина http://digitalbush.com/projects/masked-input-plugin.
Вызов осуществляется следующим образом.
Виджет реализован на основе JQuery-плагина http://digitalbush.com/projects/masked-input-plugin.
Вызов осуществляется следующим образом.
<?php
$this->widget('CMaskedTextField', array(
'model' => $model,// модель
'attribute' => 'aluguel', // атрибут модели
'mask' => '9.999,99', // маска ввода
'htmlOptions' => array('size' => 6)
));
?>
Маска ввода (параметр mask) представляет из себя строку, состоящую из спецсимволов. Следующие символы являются предопределенными:
- a: трактуется как буквенный символ из диапазона (A-Z,a-z)
- 9: трактуется как числовой символ (0-9)
- *: трактуется как алфавитно-цифровой символ (A-Z,a-z,0-9)
- ?: все, что идет после этого символа, является необязательным для ввода со стороны пользователя.
<?php
$this-<widget('CMaskedTextField', array(
'model' => $model,
'attribute' => 'aluguel',
'mask' => '9.999,99',
'charMap' => array('.'=>'[\.]' , ','=>'[,]'),
'htmlOptions' => array('size' => 6)));
?>
Отличный блог, пишите ещё, у вас очень хорошо получается.
ОтветитьУдалитьСтатья понятная и очень к месту, спасибо!
ОтветитьУдалитьРада помочь :)
Удалитья немного не понял, как задать маску, что бы например код страны мог быть как из 1 так и из 2 цифр, и что бы код города тоже мог иметь переменное число чисел?
ОтветитьУдалитьВ таком случае вам нужно самому наваять скрипт для валидации поля по маске. Т.к. стандартный плагин понимает лишь конкретно заданную маску.
УдалитьКак-то делала подобное для того, чтобы поле с маской для телефона в формате 999-999-9999 при вводе первых цифр, которые соответствовали бы коду города, принимало маску (код города) 99-99-99. Вот такое бредовое было пожелание у заказчика
Кстати, как понимаю, вам нужна валидация номера телефона - проще это реализовать регуляркой
УдалитьОгромное спасибо. Очень помогло))
ОтветитьУдалить