Spec-Zone.ru › Yii 2.0

Класс yii\widgets\MaskedInput

Все классы | Свойства | Методы | События | Константы
Наследование yii\widgets\MaskedInput » yii\widgets\InputWidget » yii\base\Widget » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/widgets/MaskedInput.php

MaskedInput генерирует замаскированное текстовое поле ввода.

MaskedInput похож на yii\helpers\Html::textInput(), за исключением того, что для ввода данных используется маска, что позволяет принудительно вводить данные в правильном формате, например, номера телефонов, номера социального страхования.

Для использования MaskedInput необходимо установить свойство $mask. Следующий пример демонстрирует, как использовать MaskedInput для сбора номеров телефонов:

echo MaskedInput::widget([
    'name' => 'phone',
    'mask' => '999-999-9999',
]);

Этот виджет также можно использовать в yii\widgets\ActiveForm с помощью метода widget(), например, так:

<?= $form->field($model, 'from_date')->widget(\yii\widgets\MaskedInput::className(), [
    'mask' => '999-999-9999',
]) ?>

Замаскированное текстовое поле реализовано с использованием плагина jQuery для маскирования ввода.

Публичные свойства

Свойство Тип Описание Определено в
$aliases массив Пользовательские алиасы для использования. yii\widgets\MaskedInput
$attribute строка Атрибут модели, с которым связан этот виджет. yii\widgets\InputWidget
$autoIdPrefix строка Префикс для автоматически сгенерированных идентификаторов виджета. yii\base\Widget
$behaviors yii\base\Behavior[] Список поведений, присоединённых к этому компоненту. yii\base\Component
$clientOptions массив Параметры плагина JQuery для плагина маски ввода. yii\widgets\MaskedInput
$counter целое число Счётчик, используемый для генерации $id для виджетов. yii\base\Widget
$definitions массив Пользовательские определения масок для использования. yii\widgets\MaskedInput
$field yii\widgets\ActiveField Активное поле ввода, которое инициирует рендеринг этого виджета. yii\widgets\InputWidget
$id строка Идентификатор виджета. yii\base\Widget
$mask строка|массив|yii\web\JsExpression Маска ввода (например, '99/99/9999' для даты). yii\widgets\MaskedInput
$model yii\base\Model Модель данных, с которой связан этот виджет. yii\widgets\InputWidget
$name строка Имя поля ввода. yii\widgets\InputWidget
$options массив Атрибуты HTML для тега input. yii\widgets\MaskedInput
$stack yii\base\Widget[] Виджеты, которые в данный момент рендерятся (не завершены). yii\base\Widget
$type строка Тип тега input. yii\widgets\MaskedInput
$value строка Значение поля ввода. yii\widgets\InputWidget
$view yii\web\View Объект представления, который можно использовать для рендеринга представлений или файлов представления. yii\base\Widget
$viewPath строка Директория, содержащая файлы представления для этого виджета. yii\base\Widget

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

Свойство Тип Описание Определено в
$_hashVar строка Хэшированное переменная для хранения pluginOptions yii\widgets\MaskedInput

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

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в значение null. yii\base\Object
afterRun() Этот метод вызывается сразу после выполнения виджета. yii\base\Widget
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
beforeRun() Этот метод вызывается непосредственно перед выполнением виджета. yii\base\Widget
begin() Начало работы виджета. yii\base\Widget
behaviors() Возвращает список поведений, которые должен демонстрировать этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
end() Завершение работы виджета. yii\base\Widget
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все поведения, присоединённые к этому компоненту. yii\base\Component
getId() Возвращает идентификатор виджета. yii\base\Widget
getView() Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. yii\base\Widget
getViewPath() Возвращает директорию, содержащую файлы представлений для этого виджета. yii\base\Widget
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует виджет. yii\widgets\MaskedInput
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
registerClientScript() Регистрирует необходимый клиентский скрипт и опции. yii\widgets\MaskedInput
render() Рендерит представление. yii\base\Widget
renderFile() Рендерит файл представления. yii\base\Widget
run() Выполняет виджет. yii\widgets\MaskedInput
setId() Устанавливает идентификатор виджета. yii\base\Widget
setView() Устанавливает объект представления, который будет использоваться этим виджетом. yii\base\Widget
trigger() Вызывает событие. yii\base\Component
widget() Создаёт экземпляр виджета и запускает его. yii\base\Widget

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

Метод Описание Определено в
hasModel() yii\widgets\InputWidget
hashPluginOptions() Генерирует хэшированную переменную для хранения плагина clientOptions. Помогает повторно использовать переменную для аналогичных опций, переданных для других виджетов на одной странице. Следующее специальное атрибут данных также будет добавлен к полю ввода, чтобы позволить доступ к клиентским опциям через javascript: yii\widgets\MaskedInput
initClientOptions() Инициализирует клиентские опции yii\widgets\MaskedInput

События

Событие Тип Описание Определено в
EVENT_AFTER_RUN yii\base\WidgetEvent Событие, возникающее сразу после выполнения виджета. (доступно с версии 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent Событие, возникающее непосредственно перед выполнением виджета. (доступно с версии 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event Событие, которое срабатывает, когда виджет инициализируется с помощью init(). (доступно с версии 2.0.11) yii\base\Widget

Константы

Константа Значение Описание Определено в
PLUGIN_NAME 'inputmask' Имя плагина jQuery, используемого для этого виджета. yii\widgets\MaskedInput

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

$_hashVar защищённое свойство

Хэшированная переменная для хранения pluginOptions

protected string $_hashVar = null

$aliases общедоступное свойство

Пользовательские псевдонимы для использования. Должны быть настроены как maskAlias => settings, где

  • maskAlias — строка, содержащая текст для идентификации определения псевдонима маски (например, 'phone'), и
  • settings — массив, содержащий настройки символа маски, точно такие же, как параметры, переданные в $clientOptions.
public array $aliases = null

$clientOptions открытое свойство

Параметры плагина JQuery для плагина маски ввода.

См. также https://github.com/RobinHerbots/Inputmask.

public array $clientOptions = []

$definitions открытое свойство

Пользовательские определения масок для использования. Должны быть настроены как maskSymbol => settings, где

  • maskSymbol — строка, содержащая символ для идентификации вашего определения маски, и
  • settings — массив, состоящий из следующих элементов:
    • validator: строка, регулярное выражение JS или функция JS.
    • cardinality: целое число, определяющее количество символов, которые представляются и проверяются для определения.
    • prevalidator: массив, проверяет символы перед достижением кардинальности определения.
    • definitionSymbol: строка, разрешает перемещение значений из других определений с этим definitionSymbol.
public array $definitions = null

$mask открытое свойство

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

  • a: представляет буквенный символ (A-Z, a-z)
  • 9: представляет числовой символ (0-9)
  • *: представляет буквенно-цифровой символ (A-Z, a-z, 0-9)
  • [ и ]: все вводимые между квадратными скобками рассматриваются как необязательный пользовательский ввод. Это основано на настройке optionalmarker в $clientOptions.

Дополнительные определения могут быть установлены через свойство $definitions.

public string|array|yii\web\JsExpression $mask = null

$options открытое свойство

Атрибуты HTML для тега input.

См. также yii\helpers\Html::renderTagAttributes() для получения подробной информации о том, как рендерятся атрибуты.

public array $options = ['class' => 'form-control']

$type открытое свойство (доступно начиная с версии 2.0.6)

Тип тега input. В настоящее время поддерживаются только 'text' и 'tel'.

См. также https://github.com/RobinHerbots/Inputmask.

public string $type = 'text'

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

hashPluginOptions() защищённый метод

Генерирует хэшированную переменную для хранения плагина clientOptions. Помогает повторно использовать переменную для аналогичных параметров, переданных для других виджетов на одной странице. Также будет добавлен следующий специальный атрибут данных в поле ввода, чтобы позволить доступ к клиентским параметрам через javascript:

  • ‘data-plugin-inputmask’ будет хранить хэшированную переменную, хранящую параметры плагина.
защищённый void hashPluginOptions ( $view )
$view yii\web\View

Экземпляр представления

init() открытый метод

Инициализирует виджет.

открытый void init ( )
throws yii\base\InvalidConfigException

если свойство "mask" не задано.

initClientOptions() защищённый метод

Инициализирует параметры клиента

защищённый void initClientOptions ( )

registerClientScript() открытый метод

Регистрирует необходимый скрипт и параметры клиента.

открытый void registerClientScript ( )

run() открытый метод

Выполняет виджет.

открытый строка run ( )
return строка

Результат выполнения виджета для вывода.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-widgets-maskedinput.html

Spec-Zone.ru

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