git -C '/home/opc/rocketa.git' show bbe5e97 -- resources/views/admin/media/site/regist.blade.phpcommit bbe5e970ff4f61d6902daa9bfad9a8c4ad92fe21
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date: Wed Nov 12 17:33:40 2025 +0900
翻訳と入力チェックの追加
diff --git a/resources/views/admin/media/site/regist.blade.php b/resources/views/admin/media/site/regist.blade.php
index 36bc109..8b25bc8 100644
--- a/resources/views/admin/media/site/regist.blade.php
+++ b/resources/views/admin/media/site/regist.blade.php
@@ -678,6 +678,18 @@ $(function() {
// 初期状態で KV を1行確保(モーダル毎に表示時に ensureAtLeastOneRow が呼ばれるため冗長ではない)
ensureAtLeastOneRow();
+
+$(document).on('input change', '.kv-key', function() {
+ const val = $(this).val();
+ const regex = /^[0-9A-Za-z_]*$/; // 半角英数+_ のみ許可
+
+ if (!regex.test(val)) {
+ alert('❌ {{__('media-site-regist.only_alphanumeric_and_underscore_allowed')}}');
+ // 入力を直前の正しい値に戻す
+ $(this).val(val.replace(/[^0-9A-Za-z_]/g, ''));
+ }
+});
+
});
//////////////////////////
//トラッキングURL設定 end
@@ -721,6 +733,17 @@ $(function() {
updatePreview();
$('#enumModal').modal('show');
});
+ $(document).on('input change', '.enum-value', function() {
+ const val = $(this).val();
+ const regex = /^[0-9A-Za-z_]*$/; // 半角英数+_ のみ許可
+
+ if (!regex.test(val)) {
+ alert('❌ {{__('media-site-regist.only_alphanumeric_and_underscore_allowed')}}');
+ // 入力を直前の正しい値に戻す
+ $(this).val(val.replace(/[^0-9A-Za-z_]/g, ''));
+ }
+ });
+
$(document).on('input change', '.enum-value', updatePreview);
// 行追加
@@ -748,7 +771,17 @@ $(function() {
const values = $('.enum-value').map(function () {
return $(this).val().trim();
}).get().filter(v => v);
- $('#enumInput').val(values.join(','));
+
+ const output = [];
+ values.forEach((value, index) => {
+ if(value=="ad_id" || value=="client_id" || value=="banner_id" || value=="media_uid" || value=="media_id") {
+ alert('{{__('media-site-regist.invalid_parameter_name')}}:'+value);
+ } else {
+ output.push(value);
+ }
+ });
+
+ $('#enumInput').val(output.join(','));
$('#enumModal').modal('hide');
$('.url-input').val('');
});