Spec-Zone.ru › Yii 1.1

CMaskedTextField

Пакет system.web.widgets
Наследование class CMaskedTextField » CInputWidget » CWidget » CBaseController » CComponent
С момента 1.0
Исходный код framework/web/widgets/CMaskedTextField.php
CMaskedTextField генерирует поле ввода маскированного текста.

CMaskedTextField похож на CHtml::textField, за исключением того, что для ввода правильно отформатированных данных будет использоваться маска ввода. Поле маскированного текста реализовано на основе плагина jQuery masked input (см. http://digitalbush.com/projects/masked-input-plugin).

Общедоступные свойства

Свойство Тип Описание Определено
actionPrefix строка префикс к идентификаторам действий. CWidget
attribute строка атрибут, связанный с этим виджетом. CInputWidget
charMap массив отображение символов маски и соответствующих шаблонов. CMaskedTextField
completed строка обработчик JavaScript-функции, который будет вызван, когда пользователь закончит ввод. CMaskedTextField
controller CController Возвращает контроллер, к которому принадлежит этот виджет. CWidget
htmlOptions массив дополнительные HTML-параметры для рендеринга в теге ввода CInputWidget
id строка Возвращает идентификатор виджета или генерирует новый, если требуется. CWidget
mask строка маска ввода (например, '99/99/9999' для ввода даты). CMaskedTextField
model CModel модель данных, связанная с этим виджетом. CInputWidget
name строка имя элемента ввода. CInputWidget
owner CBaseController Возвращает владельца/создателя этого виджета. CWidget
placeholder строка символ, который подсказывает пользователю выполнить ввод. CMaskedTextField
skin смешанный тип имя скина, используемого этим виджетом. CWidget
value строка значение ввода CInputWidget
viewPath строка Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget

Защищённые свойства

Свойство Тип Описание Определено
clientOptions массив параметры поля ввода CMaskedTextField

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__construct() Конструктор. CWidget
__get() Возвращает значение свойства, список обработчиков событий или поведение по имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
actions() Возвращает список действий, используемых этим виджетом. CWidget
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик события к событию. CComponent
beginCache() Начинает кэширование фрагментов. CBaseController
beginClip() Начинает запись клипа. CBaseController
beginContent() Начинает отрисовку содержимого, которое должно быть декорировано указанной представлением. CBaseController
beginWidget() Создаёт виджет и выполняет его. CBaseController
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
createWidget() Создаёт виджет и инициализирует его. CBaseController
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик события. CComponent
disableBehavior() Отключает прикреплённое поведение. CComponent
disableBehaviors() Отключает все прикреплённые к этому компоненту поведения. CComponent
enableBehavior() Включает прикреплённое поведение. CComponent
enableBehaviors() Включает все прикреплённые к этому компоненту поведения. CComponent
endCache() Заканчивает кэширование фрагментов. CBaseController
endClip() Заканчивает запись клипа. CBaseController
endContent() Заканчивает отрисовку содержимого. CBaseController
endWidget() Заканчивает выполнение указанного виджета. CBaseController
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
getController() Возвращает контроллер, к которому принадлежит этот виджет. CWidget
getEventHandlers() Возвращает список прикреплённых обработчиков событий для события. CComponent
getId() Возвращает идентификатор виджета или генерирует новый, если запрошено. CWidget
getOwner() Возвращает владельца/создателя этого виджета. CWidget
getViewFile() Ищет файл шаблона представления по имени представления. CWidget
getViewPath() Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget
hasEvent() Определяет, задано ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует виджет. CWidget
raiseEvent() Вызывает событие. CComponent
registerClientScript() Регистрирует необходимый CSS и JavaScript. CMaskedTextField
render() Отрисовывает представление. CWidget
renderFile() Отрисовывает файл представления. CBaseController
renderInternal() Отрисовывает файл представления. CBaseController
run() Выполняет виджет. CMaskedTextField
setId() Устанавливает идентификатор виджета. CWidget
widget() Создаёт виджет и выполняет его. CBaseController

Защищённые методы

Метод Описание Определено в
getClientOptions() Возвращает параметры текстового поля CMaskedTextField
hasModel() Определяет, связан ли этот виджет с моделью данных. CInputWidget
resolveNameID() CInputWidget

Подробное описание свойств

charMap свойство

public array $charMap;

отображение между символами маски и соответствующими шаблонами. Например, массив ('~'=>'[+-]') указывает, что символ '~' ожидает вход '+' или '-'. По умолчанию null, что означает использование карты, как описано в маске.

clientOptions свойство только для чтения

protected array getClientOptions()

параметры текстового поля

completed свойство

public string $completed;

обратный вызов функции JavaScript, который будет вызван, когда пользователь завершит ввод.

маска свойство

public string $mask;

маска ввода (например, '99/99/9999' для ввода даты). Следующие символы заданы по умолчанию:

  • a: представляет собой буквенный символ (A-Z,a-z).
  • 9: представляет собой цифровой символ (0-9).
  • *: представляет собой буквенно-цифровой символ (A-Z,a-z,0-9).
  • ?: все, что следует за '?' в маске, считается необязательным вводом пользователя.
Дополнительные символы можно определить, указав свойство charMap.

placeholder свойство

public string $placeholder;

символ, который побуждает пользователя к вводу. По умолчанию устанавливается как нижнее подчёркивание '_'.

Подробное описание методов

getClientOptions() метод

protected array getClientOptions()
{возврат} массив настройки текстового поля
Исходный код: framework/web/widgets/CMaskedTextField.php#98 (показать)
protected function getClientOptions()
{
    
$options=array();
    if(
$this->placeholder!==null)
        
$options['placeholder']=$this->placeholder;

    if(
$this->completed!==null)
    {
        if(
$this->completed instanceof CJavaScriptExpression)
            
$options['completed']=$this->completed;
        else
            
$options['completed']=new CJavaScriptExpression($this->completed);
    }

    return 
$options;
}

registerClientScript() метод

public void registerClientScript()
Исходный код: framework/web/widgets/CMaskedTextField.php#80 (показать)
public function registerClientScript()
{
    
$id=$this->htmlOptions['id'];
    
$miOptions=$this->getClientOptions();
    
$options=$miOptions!==array() ? ','.CJavaScript::encode($miOptions) : '';
    
$js='';
    if(
is_array($this->charMap))
        
$js.='jQuery.mask.definitions='.CJavaScript::encode($this->charMap).";\n";
    
$js.="jQuery(\"#{$id}\").mask(\"{$this->mask}\"{$options});";

    
$cs=Yii::app()->getClientScript();
    
$cs->registerCoreScript('maskedinput');
    
$cs->registerScript('Yii.CMaskedTextField#'.$id,$js);
}

Регистрирует необходимые CSS и JavaScript.

run() метод

public void run()
Исходный код: framework/web/widgets/CMaskedTextField.php#56 (показать)
public function run()
{
    if(
$this->mask=='')
        throw new 
CException(Yii::t('yii','Property CMaskedTextField.mask cannot be empty.'));

    list(
$name,$id)=$this->resolveNameID();
    if(isset(
$this->htmlOptions['id']))
        
$id=$this->htmlOptions['id'];
    else
        
$this->htmlOptions['id']=$id;
    if(isset(
$this->htmlOptions['name']))
        
$name=$this->htmlOptions['name'];

    
$this->registerClientScript();

    if(
$this->hasModel())
        echo 
CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
    else
        echo 
CHtml::textField($name,$this->value,$this->htmlOptions);
}

Выполняет работу виджета. Данный метод регистрирует все необходимые клиентские скрипты и отображает текстовое поле.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CMaskedTextField

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API