【问题标题】:I'm getting code first approach validation error can you help me我收到代码优先方法验证错误你能帮我吗
【发布时间】:2023-01-31 22:22:54
【问题描述】:

我有 asp.net Mvc Web 项目。我想添加验证。 首先是我的代码;

[Column(TypeName = "Varchar")] 

[StringLength(30)] 

public string CariAd { get; set; }

编辑后;

[Column(TypeName = "Varchar")]

[StringLength(30, ErrorMessage ="You should write 30 character")]

public string CariAd { get; set; }

然后我打开了包管理器控制台并编写了 (update-database -Force) 并成功运行。

但是当我写 31 个字符时。我正在等待错误消息。不来了。即将出现的错误信息

“一个或多个实体的验证失败。有关详细信息,请参阅‘EntityValidationErrors’属性。”

【问题讨论】:

  • 展示一个完整的例子,请看[mvce]。并从您的问题中删除所有不相关的标签。仅使用您正在使用的实际平台标记您的问题。

标签: asp.net asp.net-mvc asp.net-core asp.net-mvc-3 asp.net-web-api


【解决方案1】:

看起来您已将验证规则添加到模型中,但您遇到的错误消息表明验证由于某种原因失败。

一个可能的原因是您没有在 ASP.NET MVC 项目中启用客户端验证。要启用客户端验证,您需要在 Razor 视图中添加以下代码:

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

此外,请确保您的 web.config 文件中存在以下代码:

<appSettings>
  <add key="ClientValidationEnabled" value="true"/>
  <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

如果客户端验证已经启用,您可以尝试暂时禁用它以查看是否出现您期望的错误消息。

如果问题仍然存在,您还可以尝试检查 EntityValidationErrors 属性以获取有关验证错误的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2017-04-08
    相关资源
    最近更新 更多