Skip to content

Commit

Permalink
fix #3103 【5.1】テーマカラーにカラーコード以外を入力しても保存される (#3169)
Browse files Browse the repository at this point in the history
Co-authored-by: Đỗ Văn Hùng <[email protected]>
  • Loading branch information
HungDV2022 and dovanhung authored Mar 1, 2024
1 parent 1db12a5 commit 1396261
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@

<small>[<?php echo __d('baser_core', 'テキストホバー') ?>]</small>
#<?php echo $this->BcAdminForm->control('color_hover', ['type' => 'text', 'size' => 6, 'class' => 'bca-textbox__input color-picker']) ?>
<?php echo $this->BcAdminForm->error('color_main') ?>
<?php echo $this->BcAdminForm->error('color_sub') ?>
<?php echo $this->BcAdminForm->error('color_link') ?>
<?php echo $this->BcAdminForm->error('color_hover') ?>
</td>
</tr>
<tr>
Expand Down
16 changes: 16 additions & 0 deletions plugins/bc-theme-config/src/Model/Table/ThemeConfigsTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,22 @@ public function validationKeyValue(Validator $validator): Validator
]
]);

// テーマカラー
$validator
->scalar('color_main')
->regex('color_main', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[メイン]はカラーコード形式で入力してください。'));

$validator
->scalar('color_sub')
->regex('color_sub', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[サブ]はカラーコード形式で入力してください。'));

$validator
->scalar('color_link')
->regex('color_link', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[テキストリンク]はカラーコード形式で入力してください。'));
$validator
->scalar('color_hover')
->regex('color_hover', '/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/', __d('baser_core', '[テキストホバー]はカラーコード形式で入力してください。'));

// main_image_1
$validator->add('main_image_1', [
'fileExt' => [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Class BcThemeConfigTest
* @property ThemeConfigsTable $ThemeConfigsTable
*/
class ThemeConfigTest extends BcTestCase
class ThemeConfigTableTest extends BcTestCase
{

/**
Expand Down Expand Up @@ -108,4 +108,32 @@ public function test_validationKeyValue()
$this->assertEquals('許可されていないファイルです。', current($errors['main_image_5']));
}

/**
* test validationKeyValue color
*/
public function test_validationKeyValue_color()
{
$validator = $this->ThemeConfigsTable->getValidator('keyValue');
//値は3桁と6桁ではない場合
$errors = $validator->validate([
'color_main' => '1',
'color_sub' => '12',
'color_link' => '1234',
'color_hover' => '1234567',
]);
$this->assertEquals('[メイン]はカラーコード形式で入力してください。', current($errors['color_main']));
$this->assertEquals('[サブ]はカラーコード形式で入力してください。', current($errors['color_sub']));
$this->assertEquals('[テキストリンク]はカラーコード形式で入力してください。', current($errors['color_link']));
$this->assertEquals('[テキストホバー]はカラーコード形式で入力してください。', current($errors['color_hover']));

//値は3桁と6桁場合
$errors = $validator->validate([
'color_main' => '123',
'color_sub' => 'abc',
'color_link' => 'ABCFFF',
'color_hover' => '123456',
]);
$this->assertCount(0, $errors);
}

}

0 comments on commit 1396261

Please sign in to comment.