【问题标题】:How to Show Property value in Error Message如何在错误消息中显示属性值
【发布时间】:2018-11-09 09:24:02
【问题描述】:

我正在使用模型验证来显示错误消息。如下所示

    public class ClientData
{

    [DataMember]
    [MaxLength(10, ErrorMessage = "ERR-ClientSequenceId-02:Enter maximum of 10 characters")]
    public string CSeqId { get; set; }


    [DataMember]
    [Required(ErrorMessage = "ERR-Number-01:Number is required")]
    [RegularExpression(@"^\d{9}$", ErrorMessage = "ERR-Number-02:Enter Valid Number")]
    [MaxLength(9, ErrorMessage = "ERR-Number-03:Maximum 9 digits only allowed")]
    [SampleText("003333330")]
    public string ClientNumber { get; set; }

    [DataMember]
    [MaxLength(2, ErrorMessage = "ERR-STATE-04:State code in 2 characters for the Client Data Address")]
    [RegularExpression(@"[A-Za-z{2}]+$", ErrorMessage = "ERR-STATE-05:Enter a valid Client Data Address State code")]
    [SampleText("AL")]
    public string StateCd { get; set; }
}

此处的错误消息显示来自 ErrorMessage

但我想将 CSeqId 值添加到所有 ErrorMessage 中,例如“123 ERR-Number-01: Number is required”。这里 123 是 CSeqId 值。

如何使用模型验证?谢谢。

【问题讨论】:

    标签: c# validation asp.net-web-api data-annotations model-validation


    【解决方案1】:

    您可以将其包含在您的视图中:@Html.ValidationMessage("Id")

    然后在您的控制器中,检查该值是否为空,如果是,则创建一个自定义模型错误,如下所示:

    ModelState.AddModelError("Id", id + " ERR-Number-01: Number is required")

    错误消息将像任何模型状态验证错误一样显示。

    【讨论】:

    • 这不是 MVC 模型。它是 DataContract 模型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 2013-02-05
    • 2011-06-28
    相关资源
    最近更新 更多