css - MVC4 : On validation error, 将文本框颜色更改为红色

标签 css asp.net-mvc asp.net-mvc-4 jquery-validate unobtrusive-validation

我有一个包含一些文本框的表单,当文本框不包含有效值时,我收到错误消息,但文本框颜色不会更改为红色。

这就是我所拥有的

型号

public class AddCompany
{
    public int Id { get; set; }

    [Required(ErrorMessage = "*Name is required")]
    public string Name { get; set; }

    [Required(ErrorMessage = "*Address is required")]
    [RegularExpression(@"^\(?([0-9]{4})\)?([A-Z]{2})",ErrorMessage = "*Not a valid Zip Code, Must be in format 1234AB")]
    public string Address { get; set; }

    [Required(ErrorMessage = "*Phone Number is required")]
    [DataType(DataType.PhoneNumber)]
    [RegularExpression(@"^\(?([0-9]{10})", ErrorMessage = "*Not a valid number, must be 10 numbers")]
    public string Phone { get; set; }

    [DataType(DataType.DateTime)]
    public DateTime DateTimeAdded { get; set; }
    public string Comment { get; set; }

}

查看

@model CrmTestProject.Models.ViewModels.AddCompany

@{
    ViewBag.Title = "AddCompany";
    Layout = "~/Views/shared/_BootstrapLayout.basic.cshtml";
}
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>

<h2>AddCompany</h2>
@Html.ValidationSummary(true)

<fieldset class="form-horizontal">
    <legend>New Company <small>Add</small></legend>
    @using (Html.BeginForm("AddCompany", "Company"))
    {
        <div class ="controls">
            <label class="label">@Html.Label("Name")</label>
            <div class="input-block-label">@Html.EditorFor(model=>model.Name)
                @Html.ValidationMessageFor(model=>model.Name)
            </div>
            <br/>
            <label class="label">@Html.Label("Address")</label>
            <div class="input-block-level">@Html.EditorFor(model=>model.Address)
                @Html.ValidationMessageFor(model=>model.Address)
            </div>
            <br/>
            <label class="label">@Html.Label("Phone")</label>
            <div class="input-block-level">@Html.EditorFor(model=>model.Phone)
                @Html.ValidationMessageFor(model=>model.Phone)
            </div>
            <br/>
            <div class="input-block-level">@Html.TextAreaFor(model=>model.Comment)</div>
        </div>
        <div class="form-actions" id="buttons">
            <button type="submit" class="btn btn-primary" id="Submit">Save changes</button>
            @Html.ActionLink("Cancel", "CompanyIndex", new { @class = "btn" })
        </div>
    }
</fieldset>

浏览器屏幕截图 enter image description here

正如您所看到的,我收到了错误消息,但我也希望文本框和最好的错误消息颜色为红色。不知道是不是bootstrap的原因。 但是当我检查这个 blog for validation这里一切都很完美。 谁能给我一些建议吗?

最佳答案

您只需将此 css 代码添加到您的样式中即可。无需更改任何 js 或您的 View 。

input.input-validation-error,
textarea.input-validation-error,
select.input-validation-error
{
    background: #FEF1EC;
    border: 1px solid #CD0A0A;
}

关于css - MVC4 : On validation error, 将文本框颜色更改为红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303819/

相关文章:

asp.net-mvc - ASP.NET Razor MVC 中复杂数据类型的 DisplayName 属性

jquery - 使用 JQuery 一段时间后自动关闭窗口

css - 如何锁定电子书的方向

css - 如何阻止我的 div 在缩放时四处移动?

javascript - 文本框不会变成红色

api - IE10 中的 Angular js 204 响应阻塞

jquery - 在CheckBoxListFor HTML Helper上执行JQuery验证

asp.net - 从 View 中的表中选择多个数据 asp.net MVC4 Razor

jquery - 如果 <p> 标签返回空,移除父 div

javascript - Bootstrap 工具提示不考虑数据放置参数