0

我有一个 MVC 4 应用程序,并且正在使用 HTML.BeginForm 在视图上创建一个表单。我有几个字段集,我在其中绝对定位了它们。例如,这是我的 BeginForm 和我的字段集之一:

<div style="width:1100px; height:490px;">
@using (Html.BeginForm("Create", "BicycleSellerListing", FormMethod.Post, new { enctype = "multipart/form-data" })) {
    @Html.ValidationSummary(true)

    <fieldset style="position:absolute; top:180px; left:150px; width:550px">
        <legend>Bicycle Information</legend>
...
...

问题是,如果在提交完成时 ModelState 中有错误,则生成的错误会被字段集中的某些字段覆盖。有没有办法可以指示我希望模型状态错误显示在哪里?

4

1 回答 1

1

有几种方法可以显示错误。@Html.ValidationSummary()将在一处显示所有错误。因此,取决于您放置@Html.ValidationSummary(true)的位置 - 这就是显示错误的位置。例如,您可以将其放在表格之后,而不是像您拥有的那样放在开头。

另一种方法是使用@Html.ValidationMessageFor(...)助手。它采用您的模式的属性名称,因此只会显示该属性的错误。同样,你可以把它放在你想要的任何地方。通常人们把它放在输入旁边,这样错误消息也会显示在输入旁边。

于 2013-03-11T23:34:08.467 回答