C# 在视图中打印验证消息时出现问题

C# 在视图中打印验证消息时出现问题,c#,asp.net-mvc,entity-framework,validation,razor,C#,Asp.net Mvc,Entity Framework,Validation,Razor,我在打印验证时遇到了一个问题 在视图中输入字段 我有一个视图,希望用户在其中填写表单。以这种形式我 在用户可以继续之前,需要验证输入。在我的数据库模型中 我对如何验证代码设置了不同的规则。在里面 我尝试使用显示错误消息的视图 Html.Validationsummary(true) 它在早期的一个项目中工作得非常好。但这次不是 下面是DbModel类 变量名是挪威语的,没关系。代码仍然有效 在任何语言中都相同:) 我的控制器 那景色呢 谁能帮我找出我做错了什么 Yo创建新块try catch D

我在打印验证时遇到了一个问题 在视图中输入字段

我有一个视图,希望用户在其中填写表单。以这种形式我 在用户可以继续之前,需要验证输入。在我的数据库模型中 我对如何验证代码设置了不同的规则。在里面 我尝试使用显示错误消息的视图 Html.Validationsummary(true)

它在早期的一个项目中工作得非常好。但这次不是

下面是DbModel类

变量名是挪威语的,没关系。代码仍然有效 在任何语言中都相同:)

我的控制器

那景色呢

谁能帮我找出我做错了什么


Yo创建新块try catch DbEntityValidationException:

catch (DbEntityValidationException exDbEntityValidationException)
例如:

catch (DbEntityValidationException exDbEntityValidationException)
{
   DbEntityValidationException exval = exDbEntityValidationException;

   StringBuilder sb = new StringBuilder();

   foreach (var excep in exval.EntityValidationErrors)
   {
       sb.AppendFormat("YourField: {0} {1}",((YourEntityType)excep.Entry.Entity).YourField, Environment.NewLine);

       excep.ValidationErrors.ToList().ForEach(v => sb.AppendFormat("   Field: {0} -  {1}{2}", v.PropertyName, v.ErrorMessage, Environment.NewLine));
   }

      System.Diagnostics.Debug.Print(sb.ToString());
}
@model Nettbutikk_v1.Models.Kjop

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Registrering</title>
</head>
<body>
    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

        <fieldset>
            <legend>Kjop</legend>


            <div class="editor-label">
                @Html.LabelFor(model => model.fornavn)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.fornavn)
                @Html.ValidationMessageFor(model => model.fornavn)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.etternavn)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.etternavn)
                @Html.ValidationMessageFor(model => model.etternavn)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.epost)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.epost)
                @Html.ValidationMessageFor(model => model.epost)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.telefon)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.telefon)
                @Html.ValidationMessageFor(model => model.telefon)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.adresse)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.adresse)
                @Html.ValidationMessageFor(model => model.adresse)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.postnr)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.postnr)
                @Html.ValidationMessageFor(model => model.postnr)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.poststed)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.poststed)
                @Html.ValidationMessageFor(model => model.poststed)
            </div>

            <p>
                <input type="submit" value="Registrer" />
            </p>
        </fieldset>
    }
</body>
</html>
System.Data.Entity.Validation.DbEntityValidationException: Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
catch (DbEntityValidationException exDbEntityValidationException)
catch (DbEntityValidationException exDbEntityValidationException)
{
   DbEntityValidationException exval = exDbEntityValidationException;

   StringBuilder sb = new StringBuilder();

   foreach (var excep in exval.EntityValidationErrors)
   {
       sb.AppendFormat("YourField: {0} {1}",((YourEntityType)excep.Entry.Entity).YourField, Environment.NewLine);

       excep.ValidationErrors.ToList().ForEach(v => sb.AppendFormat("   Field: {0} -  {1}{2}", v.PropertyName, v.ErrorMessage, Environment.NewLine));
   }

      System.Diagnostics.Debug.Print(sb.ToString());
}