如何在禁用/启用元素时打开/关闭验证

时间:2011-08-11 19:34:37

标签: asp.net-mvc-3 validation

如果取消选中该复选框,我想禁用文本框。 视图:

@Html.CheckBoxFor(model => model.prop1, new { onchange = "OnChange(this,'prop2')" })
...
@Html.TextBoxFor(model => model.prop2)

JavaScript处理程序

function OnChange(cb, id) 
    {
        if ($(cb).is(':checked') == false)
        {
            $('input#' + id).val('');
            $('input#' + id).attr('disabled', 'disabled');
        }else {
            $('input#' + id).attr('disabled', '');
            $('input#' + id).change();
        }
}

但验证消息存在问题。如果prop2例如标记为 “[必需]”当文本框被禁用时,错误消息应该消失。 当用户选中复选框时,我应启用文本框字段并启用验证

我该怎么做?