1

MVC 2 アプリケーションに取り組んでいますが、問題があります。私のコードは次のようになります。

public ActionResult Users()
        {
            try
            {
                var model = new List<User>
                                {
                                    new User
                                        {
                                            Name = "Test",
                                            UserID = 1,
                                            Salary = 1000m
                                        }
                                };
                return View(model);
            }
            catch (Exception ex)
            {
                //Log exception
                return View("ErrorPage");
            }
        }

        [HttpPost]
        public ActionResult Users(IEnumerable<User> users)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    return RedirectToAction("Index");
                }

                return View(users);
            }
            catch (Exception ex)
            {
                //Log exception
                return View("ErrorPage");
            }
        }

およびクラス ユーザー

public class User
    {
        [Required]
        public string Name{ get; set; }

        [Required]
        public int UserID{ get; set; }

        [Required]
        public decimal Salary{ get; set; }
    }

カスタム属性 (DataAnnotation) を作成して、フォームの投稿時に IEnumerable ユーザーの給与の合計が 10000 未満かどうかを検証したいですか? 私のモデルはリストなので、ここでそれを行うことはできますか?

4

1 に答える 1

1

データ注釈は、コレクション全体で操作できません。

代わりに、アクションで手動で検証する必要があります。

その後、 を呼び出すことができますModelState.AddModelError()

于 2013-01-07T16:01:55.530 に答える