0

asp.netMVCフレームワークでフォームを検証する実験をしています。

とりあえずサーバーサイドの検証に力を入れています。修正方法がわからないというエラーが発生しました。

System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

エラーをスローするコードは次のとおりです。

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create([Bind(Exclude="ID")] MembersCreate mc )
    {
        mc.Modules = ModuleListDataContext.GetModuleList();
        ViewData.Model = mc;

        //Validation using ModelState

        //
        //
        //line below errors when form field is empty
        //
        if ((string)mc.Member.Username.Trim() == "")
            ModelState.AddModelError("Member.Username", "Username is required.");

        if (!ModelState.IsValid)
            return View();

        try
        {
            // TODO: Add insert logic here

            return RedirectToAction("Index","Home");
        }
        catch
        {
            return View();
        }
    }

フィールドにスペースを入れると、希望どおりに機能しますが、フィールドを空白のままにして送信を押すと、エラーが発生します。

このエラーを回避し、空白のフォームフィールドを検証するための最良の方法は何ですか?

皆さんありがとう -

4

1 に答える 1

3
if (string.IsNullOrEmpty(mc.Member.Username) || (mc.Member.Username.Trim()==string.Empty))
{
    ModelState.AddModelError("Member.Username", "Username is required.");
}
于 2010-05-28T17:28:24.963 に答える