質問編集履歴
2
解決方法の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -150,4 +150,41 @@
|
|
150
150
|
|
151
151
|
vmware14 windows10
|
152
152
|
asp.net WebApplication mvc
|
153
|
-
VisualStudio2015
|
153
|
+
VisualStudio2015
|
154
|
+
|
155
|
+
|
156
|
+
### 解決方法 modelにDataAnnotationsを追加する
|
157
|
+
```C#
|
158
|
+
using System;
|
159
|
+
using System.Collections.Generic;
|
160
|
+
using System.ComponentModel.DataAnnotations;
|
161
|
+
using System.ComponentModel;
|
162
|
+
|
163
|
+
namespace ProductManage.Models
|
164
|
+
{
|
165
|
+
public class Insert
|
166
|
+
{
|
167
|
+
[Required(ErrorMessage = "商品名は必須入力です")]
|
168
|
+
[StringLength(16, ErrorMessage = "16文字以内で入力してください")]
|
169
|
+
public string productName { get; set; }
|
170
|
+
|
171
|
+
[Range(1, 3, ErrorMessage = "オプションは入力必須です")]
|
172
|
+
public int option { get; set; }
|
173
|
+
|
174
|
+
[RegularExpression(@"[0-9]+", ErrorMessage = "半角数字のみ入力できます")]
|
175
|
+
public int price { get; set; }
|
176
|
+
}
|
177
|
+
}
|
178
|
+
```
|
179
|
+
対象のcontrollerで下記を追加
|
180
|
+
```C#
|
181
|
+
if (ModelState.IsValid)
|
182
|
+
{
|
183
|
+
//ここに正常時のコードを記載
|
184
|
+
}
|
185
|
+
```
|
186
|
+
HTMLで
|
187
|
+
```HTML
|
188
|
+
@Html.ValidationMessageFor(model => model.productName)
|
189
|
+
```
|
190
|
+
を追加して無事表示されるようになりました。
|
1
試したことの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -130,8 +130,18 @@
|
|
130
130
|
```
|
131
131
|
|
132
132
|
### 試したこと
|
133
|
+
@using(html.beginform)ではなくhtmlのformで対処する
|
134
|
+
↓
|
135
|
+
入力チェックは行われたがcontroller側が反応しなかった恐らく
|
136
|
+
[HttpGet]
|
137
|
+
public ActionResult add()
|
138
|
+
{
|
139
|
+
return View();
|
140
|
+
}
|
141
|
+
の方に行ってしまっていると考えています。
|
142
|
+
根拠としては足りないですがブレイクポイントを上記コードの下の本来行くはずの所につけて反応しなかったからです。
|
133
143
|
|
134
|
-
出来そうな手段を考えて検索しましたが該当するものが見つかりませんでした。
|
144
|
+
上記以外で出来そうな手段を考えて検索しましたが該当するものが見つかりませんでした。
|
135
145
|
考えた手段として
|
136
146
|
・controller側でjavascriptの関数を呼び出せるのではないか
|
137
147
|
・Ajax通信等の手段を使って行えないか
|