回答編集履歴
2
<input type="checkbox" style="display: none;">` となっているコントロールをユーザが checked 状態にする事は可能か
answer
CHANGED
@@ -16,4 +16,22 @@
|
|
16
16
|
> 簡易的に、データ入力制限をするための策なので、究極的には、データのバリデーションを行えばよいとは思っています。
|
17
17
|
|
18
18
|
フォーム送信制限をかけたとしてもフォーム送信することは可能なのでサーバ側でのバリデーションは必須だと思って下さい。
|
19
|
-
CSS や JavaScript で制限をかけたとしても突破する方法はいくらでもあります。
|
19
|
+
CSS や JavaScript で制限をかけたとしても突破する方法はいくらでもあります。
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
**(9/16 12:58追記)**
|
24
|
+
ひょっとして、こういう事なんでしょうか。
|
25
|
+
|
26
|
+
× Q. `<input type="checkbox" style="display: none;" checked>` でフォーム送信される事が偶発的にありえますか?
|
27
|
+
↓
|
28
|
+
○ Q. `<input type="checkbox" style="display: none;">` となっているコントロールをユーザが `checked` 状態にする事は可能ですか?
|
29
|
+
|
30
|
+
私は前者だと思っていましたが、後者の場合はいくつか方法があります。
|
31
|
+
|
32
|
+
1. ブラウザの CSS を Off にしている
|
33
|
+
2. CSSを使わないテキストブラウザを使用している
|
34
|
+
3. 外部CSSの読み込みに失敗した
|
35
|
+
4. JavaScript で `input.cheked = true;` を実行する(bookmarkletやコンソール等)
|
36
|
+
|
37
|
+
基本的に CSS に依存する UI は好ましくないと思います。
|
1
バリデーション
answer
CHANGED
@@ -9,4 +9,11 @@
|
|
9
9
|
<script>
|
10
10
|
document.querySelector('form').elements['hoge'].disabled = true; // input[name=hoge] を disabled にする
|
11
11
|
</script>
|
12
|
-
```
|
12
|
+
```
|
13
|
+
|
14
|
+
---
|
15
|
+
|
16
|
+
> 簡易的に、データ入力制限をするための策なので、究極的には、データのバリデーションを行えばよいとは思っています。
|
17
|
+
|
18
|
+
フォーム送信制限をかけたとしてもフォーム送信することは可能なのでサーバ側でのバリデーションは必須だと思って下さい。
|
19
|
+
CSS や JavaScript で制限をかけたとしても突破する方法はいくらでもあります。
|