バージョン選択

フォーラム

メニュー

オンライン状況

75 人のユーザが現在オンラインです。 (64 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 75
もっと...

サイト内検索

質問 > フロント機能 > フォームの入力値の更新時のエラー修正に関して

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nobuhiko86
投稿日時: 2024/5/6 14:12
対応状況: 確認中
新米
登録日: 2024/5/6
居住地:
投稿: 2
フォームの入力値の更新時のエラー修正に関して
▼テンプレート
[EC-CUBE] 4.2.1
[レンタルサーバ] Xserver
[サーバOS] Linux
[PHP] 7.4.33
[データベース] MySQL 10.5.13
[WEBサーバ] Apache
[ブラウザ] Widows
[導入プラグイン] ゼウス決済プラグイン
[カスタマイズ] TOPページのみスクラッチ&下層ページはテンプレをカスタマイズ

▼ページの偏移
TOPページ→商品選択→お客様情報入力→支払い情報入力(ゼウスUI)

※ログイン不要


▼フォームの項目
 お名前(必須)
 カナ
 メアド(必須)


▼ご相談
支払い情報入力のページで前ページで入力したお客様情報を修正&更新出来る仕様なのですが、カナ項目を空で更新しようとすると、エラーメッセージが出てしまいます。


▼やった事

①以下のカナの必須項目を外しました'required' => false,

 ・ContactType.php
 ・CustomerAddressType.php
 ・EntryType.php
 ・NonMemberType.php

 (src/Eccube/Form/Type/Front/)

②NonMemberShoppingController.phpを編集しました。

 $data['customer_kana01'] = mb_convert_kana($data['customer_kana01'], 'CV', 'utf-8');
  // $errors[] = $this->validator->validate(
  // $data['customer_kana01'],
  // [
// new Assert\NotBlank(),
// new Assert\Length(['max' => $this->eccubeConfig['eccube_kana_len']]),
// new Assert\Regex(['pattern' => '/^[ァ-ヶヲ-゚ー]+$/u']),
  // ]
  // );
 $data['customer_kana02'] = mb_convert_kana($data['customer_kana02'], 'CV', 'utf-8');
  // $errors[] = $this->validator->validate(
  // $data['customer_kana02'],
 // [
// new Assert\NotBlank(),
// new Assert\Length(['max' => $this->eccubeConfig['eccube_kana_len']]),
// new Assert\Regex(['pattern' => '/^[ァ-ヶヲ-゚ー]+$/u']),
// ]);

▼該当箇所

$.ajax({
 url: "{{ url('shopping_customer') }}",
 type: 'POST',
 data: postData,
 dataType: 'json'
}).done(function(data) {
 if (data.status == 'OK') {
$(form).each(function(index) {

   $(edit[index]).empty().text($(form[index]).children('input').val());
$(form[index]).empty();
});

// kana field
$(edit[2]).empty().text(data.kana01);
$(edit[3]).empty().text(data.kana02);
$('#customer-kana01').val(data.kana01);
$('#customer-kana02').val(data.kana02);
}
}).fail(function() {
alert('更新に失敗しました。入力内容を確認してください。');
}).always(function(data) {
// overlayを無効
loadingOverlay('hide');
});


お手数ですが、ご確認頂ければ助かります
tattsu
投稿日時: 2024/5/6 23:25
対応状況: −−−
長老
登録日: 2023/12/23
居住地:
投稿: 233
Re: フォームの入力値の更新時のエラー修正に関して
jQueyで$.ajax { url: "{{ url('shopping_customer') }}",と送信しているレスポンスが400なのか500なのかでも変わってきますね。
ブラウザのDeveloper toolなど開いて確認してみてください。
500ならログにエラー出ているかと思います。

FormTypeは今回関係ないと思いますので、NonMemberShoppingControllerをデバッグするのがよいです。


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

nobuhiko86
投稿日時: 2024/5/8 9:28
対応状況: −−−
新米
登録日: 2024/5/6
居住地:
投稿: 2
Re: フォームの入力値の更新時のエラー修正に関して

ご返信頂き有難うございます。

確認したところレスポンスが400でした。

>NonMemberShoppingControllerをデバッグするのがよいです。

具体的にどこら辺をチェックすれば良いかご教示頂けたら助かります。
tattsu
投稿日時: 2024/5/8 9:38
対応状況: −−−
長老
登録日: 2023/12/23
居住地:
投稿: 233
Re: フォームの入力値の更新時のエラー修正に関して
NonMemberShoppingControllerに
return $this->json(['status' => 'NG'], 400);と記載が複数あり
なんらかの理由でどれかに引っかかっていると思いますので、エラー内容を確認してみてください。


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,665名です
総投稿数は110,149件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1657
8
red
1570
9
mcontact
1326
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.