バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地:
投稿: 335
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
居住地:
投稿: 335
Re: フォームの入力値の更新時のエラー修正に関して
NonMemberShoppingControllerに
return $this->json(['status' => 'NG'], 400);と記載が複数あり
なんらかの理由でどれかに引っかかっていると思いますので、エラー内容を確認してみてください。


----------------
-------------------

EC-CUBEカスタマイズ・バージョンアップ・不具合修正(状況調査は無料)
ゴールドパートナー。

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


 



ログイン


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

統計情報

総メンバー数は93,360名です
総投稿数は111,029件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2315
5
umebius
2085
6
yuh
1845
7
h_tanaka
1755
8
red
1574
9
mcontact
1463
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
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.