2010-05-13 86 views
3

我使用ASP.NET MVC 2紅色邊框驗證失敗時

Html.DropDownListFor和Html.TextAreaFor當驗證失敗時自動獲得紅色邊框。

如何在驗證失敗時使TextBox的四個邊框(使用Html.TextBoxFor)爲紅色?

例如,我有一個文本框是必需的,當用戶提交表單時未在文本框中指定值時,我希望文本框具有紅色邊框。

+0

參考 http://www.c-sharpcorner.com/Blogs/9849/change-background-color-of-a-control- when-validation-fails-i.aspx – Syed 2014-07-08 12:31:19

回答

21

當模型屬性的驗證失敗時,它會向html中的輸入添加一個類。在驗證失敗時使用呈現的html(使用視圖源代碼或螢火蟲)並查看輸入的類*。然後編輯你的CSS以包含失敗驗證的樣式。

E.g.在我的項目,我有:

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

HTHS,
查爾斯

*我敢肯定ASP.NET MVC默認添加類input-validation-error

+4

你的回答指出了我的正確方向。我發現下面的css(在Site.css中): input [type =「text」] { width:200px; border:1px solid #CCC; } 被重寫這個CSS: 。輸入驗證錯誤 { 邊界:1px的固體#FF0000; background-color:#ffeeee; } 因此,當驗證失敗時,TextBoxes的邊框永遠不會變紅。通過將css更改爲以下內容: 。輸入驗證錯誤 { border:1px solid#ff0000!important; background-color:#ffeeee; } 當驗證失敗時,邊框呈紅色。 – thd 2010-05-14 22:15:18

+0

非常感謝它對我的作品也採用了這種方法....'INPUT [type ='radio'], .input-validation-error { border:1px solid #fff; background-color:#fff; }' – 2013-10-17 11:22:34

2

所有你需要做的是下面的CSS:

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