@ Html.ValidationMessage在表单发布之前显示

时间:2018-08-28 14:39:54

标签: c# asp.net-mvc razor

动态表格有点问题。直到运行时才知道模型,所以我不能使用@html.ValidationMessageFor(m=>m.foo)

我以为我可以改用@html.ValidationMessage(),但是这种形式在get请求之后显示了验证消息?在提交表单之前。

 if (field.Tag == "input")
 {
      <div class="m-form--group m-form--group-inset">
          <label for="@(prop.Value.Name  ?? prop.Key.Name)">@(prop.Value.Name ?? prop.Key.Name)</label>
          @Html.TextBox(prop.Key.Name, prop.Key.GetValue(Model), new RouteValueDictionary(field.Attributes))
          @Html.ValidationMessage(prop.Key.Name, "Required", new { @class="field-validation-error" })
      </div>
 }

我从{p>那里得到prop

  var props = typeof(Ljmu.Web.UI.ViewModels.Components.Contact.ContactFormViewModel)
   .GetProperties(BindingFlags.Public | BindingFlags.Instance)
   .Where(x => x.GetCustomAttributes(typeof(System.ComponentModel.DataAnnotations.DisplayAttribute), true)
   .Cast<System.ComponentModel.DataAnnotations.DisplayAttribute>().FirstOrDefault() != null)

0 个答案:

没有答案