Page.isValid Проблема в условной проверке - PullRequest
0 голосов
/ 11 марта 2011

У меня есть серия текстового поля с обязательным полем проверки и текстовой области с обязательным полем проверки, флажок и кнопка, по нажатию которой я проверяю проверку, имеют одну и ту же группу проверки при установке флажка я отключаю текстовые поля, а также их проверки и включаю проверку для текстовой области, но если флажок не установлен, все элементы управления включены, но проверка для текстовой области отключена, проблема заключается в том, что если флажок не установлен, и я вставляя значения во все текстовые поля, но не в текстовую область, и нажимая кнопку «Сохранить» в коде позади, я проверяю Page.isValid перед вставкой значений в базу данных, но этот Page.isValid всегда возвращает значение «ложь», поскольку валидатор поля обязателен для текстовой области, даже если он отключен.

код JavaScript для этого

 // Function for enabling/disabling validation
function enableValidation(element, enable)
{
    $.each(Page_Validators, function()
    {
        if (this.controltovalidate == element.id)
        {
            ValidatorEnable(this, enable);
        }
    });
}

// Funcion Called on the click event of checkbox in 
// Provide Project Feedback popup in TestCATFeedback page.
function disableOtherElements(e)
{
    if (e.checked)
    {
        $('.disableIt').each(function()
        {
            enableValidation(this, false);
        }).attr('disabled', true).css('opacity', 0.3);
        $('.noteBox').each(function()
        {
            enableValidation(this, true);
        });

        $('.noteBox').focus();
    } 
    else
    {
        $('.disableIt').each(function()
        {
            enableValidation(this, true);
        }).removeAttr('disabled').css('opacity', 1);
        $('.noteBox').each(function()
        {
            enableValidation(this, false);
        });
    }
}

здесь disableIt - класс, назначенный каждому элементу управления текстовым полем, а notebox - класс, присвоенный текстовой области

.

как решить эту проблему: если элемент управления проверкой отключен, не проверяйте его для проверки страницы и не возвращайте true. Page.isValid check

Ответы [ 2 ]

0 голосов
/ 09 ноября 2012

Единственное решение, которое мне удалось найти для этой проблемы, было создание переменной "bPageIsValidated".Эта переменная по умолчанию имеет значение «false».Затем в каждом валидаторе на стороне сервера устанавливается значение true.Это позволяет узнать, если проверка уже произошла или нет.Это очень простой и понятный метод, поэтому я думаю, что он должен решить эту проблему довольно легко.

0 голосов
/ 11 марта 2011

Отключить проверку на стороне клиента для элементов управления, а при загрузке страницы включить / отключить проверку элементов управления в соответствии с требованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...