在.net mvc 4中验证失败时,我有一项任务为文本框设置红色边框。
BExtensionMethods.cs
public static string GetTextBoxColor(this ModelStateDictionary ModelState)
{
string textBoxColor = string.Empty;
int count = 1;
var errorKeys = (from item in ModelState
where item.Value.Errors.Any()
select item.Key).ToList();
foreach (var item in errorKeys)
{
textBoxColor += string.Format("{0}.{1}</br>", count, item);
count++;
}
return textBoxColor;
}
这里json对象包含值。如何过滤它?
答案 0 :(得分:16)
if ($('#TextBoxID').val() == '') {
$('#TextBoxID').css('border-color', 'red');
}
else {
$('#TextBoxID').css('border-color', '');
}
答案 1 :(得分:13)
你需要创建一个这样的css类:
.errorClass { border: 1px solid red; }
并将其添加到jQuery的文本框中:
$("#myTextBox").addClass('errorClass');
答案 2 :(得分:2)
只需复制项目中的以下代码即可了解,我在这里使用纯粹的bootstrap和jquery。
primary key to sort the result set
答案 3 :(得分:0)
如果您只有一个文本框并且已知您的ID,则可以使用@PanzerKadaver解决方案。否则我会建议在json中返回你自己想要变成红色的文本框的ID。然后遍历它并在客户端添加错误类。
答案 4 :(得分:0)
result.renewableEnergy
会为您提供所需的价值。 objRenewableEnergy
result.renewableEnergy.property
的任何其他属性
答案 5 :(得分:0)
public static List<string> GetTextBoxColor(this ModelStateDictionary ModelState)
{
string textBoxColor = string.Empty;
int count = 1;
List<string> list = new List<string>();
var errorKeys = (from item in ModelState
where item.Value.Errors.Any()
select item.Key.Substring(item.Key.LastIndexOf('.')).Trim('.')).ToList();
foreach (var item in errorKeys)
{
textBoxColor += string.Format("{0}.{1}</br>", count, item);
list.Add(item);
count++;
}
return list;
}