は、私は特定の(ビジネスロジック)であることをデータベース上で、サーバ側上でトランザクションを実行する必要があります。サーバー側(コントローラ)で検証を行うことをお勧めしますか? <strong>クライアント側</strong>(ブラウザ)からの入力を持つASP.NET MVC
トランザクションを行う前にユーザー入力の検証を行うことをお勧めしますか? 「一元責任原則」に違反していますか?
編集:独責の原則 - 私の悪い、ここでは意味がありません。
よろしくお願いいたします。
は、私は特定の(ビジネスロジック)であることをデータベース上で、サーバ側上でトランザクションを実行する必要があります。サーバー側(コントローラ)で検証を行うことをお勧めしますか? <strong>クライアント側</strong>(ブラウザ)からの入力を持つASP.NET MVC
トランザクションを行う前にユーザー入力の検証を行うことをお勧めしますか? 「一元責任原則」に違反していますか?
編集:独責の原則 - 私の悪い、ここでは意味がありません。
よろしくお願いいたします。
入力がクライアント側でチェックされている可能性があるという事実にもかかわらず、サーバー側での検証を行うことが必要不可欠であるいくつかの理由があります。
これは、クライアント側とサーバー側の検証が異なる目的を果たすため、単一責任の原則に違反しません。クライアント側の検証は、有効なものと無効なものをユーザーに視覚的に示すプロンプトとして機能し、サーバー側の検証はデータの一貫性を保ちます。
をトランザクションにする前に、ユーザー入力の検証を行うことをお勧めしますか?
はい。
男があなたのドアに来て、彼らが女王だと言うなら、彼を連れてきますか?
同様に、クライアント(ブラウザ)から送信されたデータは信頼できないため、サーバー側を検証する必要があります。
クライアント側の検証は、JavaScriptを無効にするか、またはフィドラーやカールのようなツールを使用して渡すことができるため、サーバー側の検証を行うことが重要です。一方、ユーザーフレンドリーなアプリケーションクライアント側検証は使用するための重要なツールになります。
Jquery validationは、クライアント側の検証
MVC Model Validationのためのフロントエンドライブラリは
Remote Attributeは、私が思うあなたのケースを見てみましょうするために有用な属性であり、両方のクライアント側とサーバー側の検証を生成することができます。
あなたの質問の最初のルールである必要があり、その危険な意見ベースの質問に近く、ところではい、それは良い習慣だ、クライアントを信頼していません。それはもう一つの概念ですが、話題にはありません – InferOn
それは単なる良い練習ではなく、その本質的なものです。クライアント側の検証に合格すれば簡単にできます(クライアント側の検証は素晴らしいボーナスとして考慮する必要があります) –