gpt4 book ai didi

c# - RangeAttribute 数据注释未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-03 19:32:40 24 4
gpt4 key购买 nike

我正在开发一个 ASP.NET MVC2 应用程序,其中有一个 User 类,其属性名为 SecurityQuestionID,如下所示:

public class User
{
[RangeAttribute(1, 5, ErrorMessage = "Security Question is required")]
[DisplayName("Security Question")]
public virtual int SecurityQuestionID { get; set; }
}

SecurityQuestionID 字段从 View 中的下拉列表中填充,如下所示:

<%: Html.LabelFor(model => model.SecurityQuestionID)%>
<%: Html.DropDownListFor(model => model.SecurityQuestionID, ViewData["securityQuestions"] as SelectList,"Choose a Question",null) %>
<%: Html.ValidationMessageFor(model => model.SecurityQuestionID)%>

Controller 使用 View 数据向 View 发送安全问题,如下所示:

ViewData["securityQuestions"] = new SelectList(_securityQuestionService.GetAll(), "SecurityQuestionID", "Question");

如果我没有从下拉列表中选择问题并点击提交按钮,则会显示“The Security Question field is required.”消息而不是“Security Question is required ”。谁能帮助我理解我在这里做错了什么?

最佳答案

如果整数不可为空,则默认情况下它是必需的。所以范围验证没有失败,但必需验证失败。
您可能希望通过添加必需属性为需要时指定单独的错误消息。

[Required(ErrorMessage="Security Question is required")]

关于c# - RangeAttribute 数据注释未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com