回答編集履歴
1
node.js
answer
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
### サーバサイドとクライアントサイド
|
2
|
+
|
1
3
|
昔はサーバサイドでバリデーションを行う方法しか存在しませんでした。
|
2
4
|
クライアントサイドでのバリデーションが注目されたのは、「クライアントサイドによるバリデーション」が**サーバに送信されるまでバリデーション出来ない**という「サーバサイドによるバリデーション」の欠点を克服できるものだったからです。
|
3
5
|
しかし、「クライアントサイドによるバリデーション」はHTML/JavaScriptを書き換えればバリデーションなしで送信出来てしまう不完全性の問題があります。
|
@@ -5,9 +7,14 @@
|
|
5
7
|
クライアントサイドによるバリデーションはサーバサイドのそれと同じである方が勿論好ましいですが、必ずしも完全に一致する必要はありません。
|
6
8
|
その代わり、サーバサイドによるバリデーションが完全性を保証する必要はあります。
|
7
9
|
|
10
|
+
### サーバ/クライアントサイドのバリデーションを同期する
|
11
|
+
|
8
12
|
> このチェックのルールの同期(フロントとバックでのチェックルールの統一)の際、有用な方法はなにかありますでしょうか。
|
9
13
|
|
10
14
|
「全く同じバリデーションになるように双方のアルゴリズムを組む」以外に方法はないと思います。
|
11
15
|
クライアントサイドからサーバサイドに逐一リクエストしてサーバサイドで判定することで完全に一致させつつ、クライアントサイドのコーディング量を少なくすることが可能ですが、それでは「クライアントサイドのメリット(HTTPリクエストするタイムラグがない)」を相殺します。
|
12
16
|
|
17
|
+
**(2017/11/24 22:49追記)**
|
18
|
+
サーバにnode.jsを採用すれば、JavaScriptコードを部分的に流用出来るかも知れません。
|
19
|
+
|
13
20
|
Re: LokiTick さん
|