回答編集履歴

6

追記&訂正

2020/06/14 01:49

投稿

退会済みユーザー
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- どうしても JavaScript で送信したいということなら、以下の記事の応用でできるかもしれません(まだ思い付きレベルです。Create 機能を実装するのはかなりの茨の道になりそうな予感がしますが)。
33
+ どうしても JavaScript で送信したいということなら、以下の記事の応用でできるかもしれません(まだ思い付きレベルです。Edit 機能を実装するのはかなりの茨の道になりそうな予感がしますが)。
34
34
 
35
35
 
36
36
 

5

追記&訂正

2020/06/14 01:49

投稿

退会済みユーザー
test CHANGED
@@ -30,7 +30,11 @@
30
30
 
31
31
 
32
32
 
33
+ どうしても JavaScript で送信したいということなら、以下の記事の応用でできるかもしれません(まだ思い付きレベルです。Create 機能を実装するのはかなりの茨の道になりそうな予感がしますが)。
34
+
35
+
36
+
33
- どうしても JavaScript で送信したいということなら、以下の記事の応用でできるかもしれません。アプリは ASP.NET Core 3.1 MVC ですが、.NET Framework 版の MVC5 でも同じことはできます。
37
+ 以下の記事のアプリは ASP.NET Core 3.1 MVC ですが、.NET Framework 版の MVC5 でも同じことはできます。
34
38
 
35
39
 
36
40
 

4

追記

2020/06/14 01:48

投稿

退会済みユーザー
test CHANGED
@@ -23,3 +23,31 @@
23
23
 
24
24
 
25
25
  は、JavaScript による送信でもコントローラーには制御が飛んでくるのだから、index にリダイレクトされないのは if(ModelState.IsValid) が true にならないから以外の原因はなさそうですが、その理由は質問に提供されている情報では分かりません。分かるように質問を書いてくれれば考えようもありますが・・・
26
+
27
+
28
+
29
+ **【追記】**
30
+
31
+
32
+
33
+ どうしても JavaScript で送信したいということなら、以下の記事の応用でできるかもしれません。アプリは ASP.NET Core 3.1 MVC ですが、.NET Framework 版の MVC5 でも同じことはできます。
34
+
35
+
36
+
37
+ jQuery ajax で部分ビューの呼出・表示
38
+
39
+ [http://surferonwww.info/BlogEngine/post/2020/03/07/use-jquery-ajax-to-request-and-render-partial-view.aspx](http://surferonwww.info/BlogEngine/post/2020/03/07/use-jquery-ajax-to-request-and-render-partial-view.aspx)
40
+
41
+
42
+
43
+ jQuery ajax を使っている点、CSRF 防止用のトークンを含むフォームデータを jQuery の .serialize() メソッドを使って取得しそれを data パラメータに設定して送信している点、応答は部分ビューとして返している点に注目してください。
44
+
45
+
46
+
47
+
48
+
49
+ 上の記事のサンプルではユーザー入力はないのでその検証関係のコードは実装してませんが、Model を定義して追加できると思います(要件次第ですが)。
50
+
51
+
52
+
53
+ ただ、やはり、クライアント側での検証は普通に submit した時のようにはいかないと思いますが。

3

訂正

2020/06/14 01:28

投稿

退会済みユーザー
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- どのように検証機能を実装しているのか書いてないのでわかりませんが、標準で ASP.NET MVC に実装されているデータアノテーションによるクライアントサイドの検証のことを言っているのであれば、JavaScript で送信している限り働かないと思います。サーバー側はモデルバインディングがされていれば働くはずですが、その前にエラーでモデルバインディングがされてないとダメでしょう(その場合でも ModelState.IsValid は false になるはずですが)
13
+ どのように検証機能を実装しているのか書いてないのでわかりませんが、標準で ASP.NET MVC に実装されているデータアノテーションによるクライアントサイドの検証のことを言っているのであれば、JavaScript で(質問のコードのように ajax で)送信している限り働かないと思います。サーバー側はモデルバインディングがされていれば働くはずですが、その前にエラーでモデルバインディングがされてないとダメでしょう(その場合でも ModelState.IsValid は false になるはずですが)
14
14
 
15
15
 
16
16
 

2

訂正

2020/06/13 01:56

投稿

退会済みユーザー
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- JavaScript で送信するのでなく、普通に input type="submit" ボタンのクリックなどで送信して「追加した情報が反映されません」以外は問題なく、期待通り検証がかかり、検証 OK の時は index にリダイレクトされるのですよね。
5
+ JavaScript で送信するのでなく、普通に input type="submit" ボタンのクリックなどで送信すれば「追加した情報が反映されません」以外は問題なく、期待通り検証がかかり、検証 OK の時は index にリダイレクトされるのですよね。
6
6
 
7
7
 
8
8
 

1

訂正

2020/06/13 01:52

投稿

退会済みユーザー
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- どのように検証機能を実装しているのか書いてないのでわかりませんが、標準で ASP.NET MVC に実装されているデータアノテーションによる検証の機能であれば、JavaScript で送信している限り働かないと思います。
13
+ どのように検証機能を実装しているのか書いてないのでわかりませんが、標準で ASP.NET MVC に実装されているデータアノテーションによるクライアントサイドの検証のことを言っているのであれば、JavaScript で送信している限り働かないと思います。サーバー側はモデルバインディングがされていれば働くはずですが、その前にエラーでモデルバインディングがされてないとダメでしょう(その場合でも ModelState.IsValid は false になるはずですが)
14
14
 
15
15
 
16
16