验证失败时如何将文本框边框颜色设置为红色

时间:2013-04-24 07:40:58

标签: jquery asp.net asp.net-mvc-4 asp.net-mvc-3-areas

在.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对象包含值。如何过滤它?

6 个答案:

答案 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;

    }