通常、ユーザーが送信したデータが有効でない場合にエラー メッセージを表示する必要があります (たとえば、電子メールであることが必要なフィールドに有効な電子メール アドレスを入力しなかったなど - 詳細については、MVC ModelValidation を参照してください)。
それを確認するには、ModelState.IsValid を使用します。この場合、通常、彼が来たページ ("Register") を表示し、フォーム フィールド (= RegisterModel) に入力したデータも表示する必要があります。しかし、どのフィールドが正しくないかを知らせるエラーメッセージを表示したいと考えています。
ユーザーのデータが正しく、アクションが成功した場合 (この場合、ユーザーは正常に登録されました)、通常はユーザーに登録フォームを再度表示することはありませんが、ユーザーを成功ページにリダイレクトします。
これは、検証、エラーの表示、アクションの成功後のリダイレクトの簡単な例です。
コードの例:
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
//do stuff
// redirect to a success page
return RedirectToAction("Success");
}
// data is not valid - show the user his data and error messages
// using Html Helper methods (see link for details)
return View(model);
}
Register ビューで (ない場合 - 厳密に型指定されたビューがある場合は、そのために HTML ヘルパー オーバーロードを使用できます - たとえば、Html.LabelFor、TextboxFor などのメソッドを使用します):
一般的なエラー メッセージ/概要を表示します。
...
<%= Html.ValidationSummary("Register was not successfull") %>
入力の横にエラー メッセージを表示します。
...
<%= Html.TextBox("Email") %>
<%= Html.ValidationMessage("Email", "*") %>