public function init()
{
parent::init();
if (empty($this->widgetContainer) || preg_match('/^\\w{1,}$/', $this->widgetContainer) === 0) {
throw new InvalidConfigException('Invalid configuration to property "widgetContainer".
Allowed only alphanumeric characters plus underline: [A-Za-z0-9_]');
}
if (empty($this->widgetBody)) {
throw new InvalidConfigException("The 'widgetBody' property must be set.");
}
if (empty($this->widgetItem)) {
throw new InvalidConfigException("The 'widgetItem' property must be set.");
}
if (empty($this->model) || !$this->model instanceof \yii\base\Model) {
throw new InvalidConfigException("The 'model' property must be set and must extend from '\\yii\\base\\Model'.");
}
if (empty($this->formId)) {
throw new InvalidConfigException("The 'formId' property must be set.");
}
if (empty($this->insertPosition) || !in_array($this->insertPosition, $this->_insertPositions)) {
throw new InvalidConfigException("Invalid configuration to property 'insertPosition' (allowed values: 'bottom' or 'top')");
}
if (empty($this->formFields) || !is_array($this->formFields)) {
throw new InvalidConfigException("The 'formFields' property must be set.");
}
$this->initOptions();
}