css - 将 Twitter Bootstrap 验证样式和消息应用于 ASP.NET MVC 验证

标签 css asp.net-mvc validation twitter-bootstrap jquery-validate

如何集成 ASP.NET MVC 非侵入式验证和 Twitter Bootstrap?我想要所有这些验证消息样式适当。

最佳答案

如果您使用的是 Bootstrap 2,处理这个问题的一个好方法是......

将此添加到您的 _Layout.cshtml:

<script type="text/javascript">

jQuery.validator.setDefaults({
    highlight: function (element, errorClass, validClass) {
        if (element.type === 'radio') {
            this.findByName(element.name).addClass(errorClass).removeClass(validClass);
        } else {
            $(element).addClass(errorClass).removeClass(validClass);
            $(element).closest('.control-group').removeClass('success').addClass('error');
        }
    },
    unhighlight: function (element, errorClass, validClass) {
        if (element.type === 'radio') {
            this.findByName(element.name).removeClass(errorClass).addClass(validClass);
        } else {
            $(element).removeClass(errorClass).addClass(validClass);
            $(element).closest('.control-group').removeClass('error').addClass('success');
        }
    }
});

$(function () {

    $("span.field-validation-valid, span.field-validation-error").addClass('help-inline');
    $("div.control-group").has("span.field-validation-error").addClass('error');
    $("div.validation-summary-errors").has("li:visible").addClass("alert alert-block alert-error");

});

</script>

这些是我在其中找到上面代码片段的帖子:

Integrating Bootstrap Error styling with MVC’s Unobtrusive Error Validation

Twitter Bootstrap validation styles with ASP.NET MVC

MVC Twitter Bootstrap unobtrusive error handling


更新

现在我需要在使用 Bootstrap 3 时做同样的事情.这是自类名更改后需要进行的修改:

<script type="text/javascript">

    jQuery.validator.setDefaults({
        highlight: function (element, errorClass, validClass)
        {
            if (element.type === 'radio')
            {
                this.findByName(element.name).addClass(errorClass).removeClass(validClass);
            } else
            {
                $(element).addClass(errorClass).removeClass(validClass);
                $(element).closest('.form-group').removeClass('has-success').addClass('has-error');
            }
        },
        unhighlight: function (element, errorClass, validClass)
        {
            if (element.type === 'radio')
            {
                this.findByName(element.name).removeClass(errorClass).addClass(validClass);
            } else
            {
                $(element).removeClass(errorClass).addClass(validClass);
                $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
            }
        }
    });

$(function () {

    $("span.field-validation-valid, span.field-validation-error").addClass('help-block');
    $("div.form-group").has("span.field-validation-error").addClass('has-error');
    $("div.validation-summary-errors").has("li:visible").addClass("alert alert-block alert-danger");

});

</script>

关于css - 将 Twitter Bootstrap 验证样式和消息应用于 ASP.NET MVC 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468130/

相关文章:

javascript - 使用javascript在表格模式下验证表单

javascript - 防止 Twitter 响应式布局在宽度 < 320px 时折叠

html - 我想要我的网站的自动更新部分

asp.net-mvc - 如何在 IIS7 上安装 asp.net mvc 2?

asp.net-mvc - AspNet.Identity 自定义用户和自定义角色应该很简单;我错过了什么?

javascript - 需要更正此表单验证

validation - Laravel验证PDF MIME

css - GWT CellTable 样式覆盖

css - block 、内联和内联 block 的区别?

asp.net-mvc - MVC3继承问题