From 0ababa2d36eaa21ea979a04694b167c794b893f2 Mon Sep 17 00:00:00 2001 From: Victor Shumeyko <8049164+kv4nt@users.noreply.github.com> Date: Mon, 5 Sep 2022 14:32:20 +0300 Subject: [PATCH] small fix #19530 (#19532) * small fix #19530 * small fix #19530 | fix test * small fix #19530 | fix test * small fix #19530 | fix test * small fix #19530 | update CHANGELOG.md * Update framework/CHANGELOG.md Co-authored-by: viktor.shumeiko Co-authored-by: Alexey Rogachev --- framework/CHANGELOG.md | 1 + framework/widgets/ActiveField.php | 2 +- tests/framework/widgets/ActiveFieldTest.php | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index ecffeb7d6f..44f8aa5f43 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -4,6 +4,7 @@ Yii Framework 2 Change Log 2.0.47 under development ------------------------ +- Bug #19530: Fix specifying the field id for `yii\widgets\ActiveField` (kv4nt) - Bug #12636: Fix CompareValidator successful state when compareAttribute has an error (manchenkoff) - Bug #15500: Fix saving empty records to MySQL (manchenkoff) - Bug #14388: Fixed fixture loading order in output message (manchenkoff) diff --git a/framework/widgets/ActiveField.php b/framework/widgets/ActiveField.php index 4d69e5b097..6bab0b0de8 100644 --- a/framework/widgets/ActiveField.php +++ b/framework/widgets/ActiveField.php @@ -847,7 +847,7 @@ class ActiveField extends Component $options = []; $inputID = $this->getInputId(); - $options['id'] = Html::getInputId($this->model, $this->attribute); + $options['id'] = $inputID ?: Html::getInputId($this->model, $this->attribute); $options['name'] = $this->attribute; $options['container'] = isset($this->selectors['container']) ? $this->selectors['container'] : ".field-$inputID"; diff --git a/tests/framework/widgets/ActiveFieldTest.php b/tests/framework/widgets/ActiveFieldTest.php index ad723dd479..0ac63c77b3 100644 --- a/tests/framework/widgets/ActiveFieldTest.php +++ b/tests/framework/widgets/ActiveFieldTest.php @@ -460,7 +460,7 @@ EOD; $actualValue = $this->activeField->getClientOptions(); $this->assertArraySubset([ - 'id' => 'activefieldtestmodel-attributename', + 'id' => 'custom-input-id', 'name' => $this->attributeName, 'container' => '.field-custom-input-id', 'input' => '#custom-input-id', @@ -470,7 +470,7 @@ EOD; $actualValue = $this->activeField->getClientOptions(); $this->assertArraySubset([ - 'id' => 'activefieldtestmodel-attributename', + 'id' => 'custom-textinput-id', 'name' => $this->attributeName, 'container' => '.field-custom-textinput-id', 'input' => '#custom-textinput-id',