次のように、アカウント モデル (Models ディレクトリの AccountModels.cs) の RegisterModel クラスに同意する利用規約を追加できます。
[Display(Name = "Agree to Terms")]
public bool AgreeTandC { get; set; }
登録ビューを更新して、この表示を追加して、チェック ボックスと必要なテキストが表示されるようにする必要があります。
残念ながら、これは であり、チェックされていないのは null ではなく false であるため、[Required]
属性を単純に使用することはできません。bool
カスタム bool 必須属性を作成する方法はいくつかありますが、少し手間がかかります。次のように、Account Controller の Register メソッドにチェックを追加して、チェックされているかどうかを確認する方が簡単な場合があります。
if(model.AgreeTandC == false)
{
ModelState.AddModelError("AgreeTandC", "You must agree to the Terms and Conditions");
return View(model);
}
私はModelState.AddModelError
以前にそのようなものを使用したことはありませんが、うまくいくと思います(エラーをユーザーに表示します)それ以外の場合は、それを置き換えて、ViewBag.Error = "You must agree to the Terms and Conditions";
これを登録ビューモデルに追加します
電子メールに関しては、難しいことではありません。MvcMailerのような電子メールを送信する機能を追加する必要があります 。Membership.CreateUser
また、アカウント コントローラーの Register メソッドの行を変更して、ユーザーを承認しないようにする必要があります。
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, false, null, out createStatus);
そうあるべきだと思います。次にcreateStatus == MembershipCreateStatus.Success)
、確認 GUID を含む電子メールを送信する場合string confirmationGuid = user.ProviderUserKey.ToString();
また、確認 ID を受け入れる方法を作成する必要があります (メールのリンクをクリックしたとき)。
メールの部分について簡単に触れただけですが、登録メールを詳細に送信するオンラインのブログはたくさんあります。