LaravelにAmazon MWSを統合しています。これまでのところ、ダッシュボードで、売り手IDと認証トークン(Amazonで提供)を入れることができるフォームを作成しました。私のコードは、このlaravelのカスタム検証
$store = StoreController::Find($id)->first();
$this->validate($request, [
'name' => 'required|max:255',
'merchantId' => 'required|max:255',
'authToken' => 'required|max:255',
'marketplaceId' => 'required|max:255',
]);
$mws = new mwsController();
$result = $mws->checkCredentials($store);
if ($result) {
//credentials OK, Force Fill in database
//OK with it
// ALSO, I want to disable future Form Edits, any idea?
}else{
//return error on form, saying Merchant ID and Auth Token pair is invalid
//stuck at this point
//documentation doesnt help
}
1のようになります。問題1:私はコード
2にコメントとして はどのようにして、カスタムエラーを返すことができます:私は資格の[OK]を
場合はフォームでの今後の編集を無効にしたいです説明
資格情報を確認してデータベースを更新すると、そのユーザーにはフォームが表示されますが、認証トークン、販売者IDまたはその他のフィールドは編集できません 形。
任意のガイドラインとヘルプは非常に感謝
私は、アプリケーションロジックが少しぐらついていると指摘しました。最初の '$ store = StoreController :: Find($ id) - > first();'には、コントローラのモデルロジックも含まれています。 – JasonK
あなたの答えを何度も読んで最後のパラを把握しています。私はShoudがサービスとして持っていると信じていますが、同じコントローラがユーザーの要求に応じてユーザーのデータをフェッチしてモデルに送り、モデルからフェッチし、その場合、何をお勧めしますか?また、SRPをクリアしてください。正確には得られません。 –
私の編集を参照してください。 –