在mvc razor中显示电子邮件验证消息(红色)

ali*_*ce7 0 c# validation asp.net-mvc-3

我刚开始使用mvc razor.

我想以红色显示验证错误消息.

这是我的viewmodel.

public class AViewModel
{
    [Required(ErrorMessageResourceName = "EmailAddressRequired", ErrorMessageResourceType = typeof(Resources))]
    [HomeController.EmailAddressAttribute(ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "EmailAddress_RegularExpression_ErrorMessage")]
    public string EmailAddress { get; set; }

    [HomeController.LocalizedDisplayNameAttribute("Password", NameResourceType = typeof(Resources))]
    [Required(ErrorMessageResourceName = "PasswordRequired", ErrorMessageResourceType = typeof(Resources))]
    [DataType(DataType.Password)]
    public string Password { get; set; }

    [HiddenInput(DisplayValue = false)]
    public Guid id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的观点看起来像这样:

<div class="left">      

    @Html.EditorForModel()
    <br />

</div>
Run Code Online (Sandbox Code Playgroud)

而我的CSS看起来像这样:

.left { float:left; width:430px; margin:0 -480px 0 0;
       padding:0 40px 20px 0; border-right:1px solid #DDD;}
Run Code Online (Sandbox Code Playgroud)

什么需要在CSS中改变?

在视图中我使用了@ Html.EditerForViewModel().当前以黑色显示的验证消息.是否有红色显示?

ami*_*t_g 5

您可能忘记在页面中包含使用典型ASP.NET MVC项目生成的css文件.默认情况下,它被命名为site.css.它也包含在Views/Shared/_Layout.cshtml的默认布局视图中.如果您已创建页面而不使用布局,则可以将其包含在视图中.

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

如果您没有css文件,可以手动创建一个,并在其中包含后续内容

/* Styles for validation helpers
-----------------------------------------------------------*/
.field-validation-error
{
    color: #ff0000;
}

.field-validation-valid
{
    display: none;
}

.input-validation-error
{
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

.validation-summary-errors
{
    font-weight: bold;
    color: #ff0000;
}

.validation-summary-valid
{
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

如果您不小心将其从当前项目中删除,则可以从另一个项目中复制整个css(创建一个新项目并将其丢弃).