Общая проверка с использованием Jquery

0

Я пытаюсь написать валидации javascript как общий. Я добавил атрибут для всех элементов управления, которые предназначены для страницы. Когда когда-либо нажимается любой щелчок (действие Post), у меня есть скрипт на стороне клиента, который будет запускаться, и он будет проверять, есть ли какой-либо обязательный элемент управления, который не заполнен данными. Если это так, тогда будет создано предупреждающее сообщение типа "Пожалуйста, введите значение".

Итак, вот настоящая проблема. всякий раз, когда я пытаюсь использовать Asp:checkbox и asp:radio он всегда визуализируется с контролем диапазона без атрибута ID. Поэтому я не могу установить флажок или переключатель с помощью управления диапазоном с помощью JQuery.

Вот код на стороне сервера, который будет присваивать isMandated=true на основе проверки бизнеса.

control.Attributes.Add("isMandatory", "true")

Здесь управление webcontrol

здесь представлен вывод Asp:checkbox и asp:radio

<span isMandatory="true"><input id="mainHolder_rdb1" type="radio" name="ctl00$mainHolder$rdb1" value="rdb1" /></span>

<span isMandatory="true"><input id="mainHolder_chkBox" type="checkbox" name="ctl00$mainHolder$chkBox" /></span>

Здесь я не могу подобрать элемент управления с помощью управления диапазоном без атрибута ID. Есть ли способ обхода решения. (Но у меня есть идея использовать клиентский контроль, добавив тег runat = "server").

Вот мой фактический код javascript,

function validateMandatedFields() {
var isValid = true;
var tagName = "";
    $("[ismandatory='true']").each(function (ctrl) {
        thisControl = $(this);
        tagName = thisControl.prop('tagName').toLowerCase();

        if (tagName === "select" && thisControl.val() === "-1") {
            alert("please enter the value");
            thisControl.focus();
            isValid = false;
            return isValid;
        }
        else if ((tagName === "table") && $("#" + thisControl.attr("id") + " input[type='radio']").length > 0) {
            var isChecked = $("#" + thisControl.attr("id") + " input[type='radio']").is(":checked");
            if (!isChecked) {
                alert("please select any option");
                $("#" + thisControl.attr("id") + " input[type='radio']").focus();
                isValid = false;
                return isValid;
            }
        }
        else if ((tagName === "table") && $("#" + thisControl.attr("id") + " input[type='checkbox']").length > 0) {
            var isChecked = $("#" + thisControl.attr("id") + " input[type='checkbox']").is(":checked");
            if (!isChecked) {
                alert("please select any option");
                $("#" + thisControl.attr("id") + " input[type='checkbox']").focus();
                isValid = false;
                return isValid;
            }
        } else if (tagName === "span" && $("span input[type='checkbox']").length>0) {
            var isChecked = $("span input[type='checkbox']").is(":checked");
            if (!isChecked) {
                alert("please select any option");
                $("span input[type='checkbox']").focus();
                isValid = false;
                return isValid;
            }
        }
        else if (tagName === "span" && $("span input[type='radio']").length > 0) {

            var isChecked = $("span input[type='radio']").is(":checked");
            if (!isChecked) {
                alert("please select any option");
                $("span input[type='radio']").focus();
                isValid = false;
                return isValid;
            }
        }
        else if (thisControl.val() === "") {
            alert("please enter the value");
            thisControl.focus();
            isValid = false;
            return isValid;
        }
    });
    return isValid;

}

Теги:
validation

2 ответа

0

Наконец, я пришел к идее, чтобы включить еще один атрибут типа "ControlToValidate" и его значение как "Control.ClientID".

И этот будет добавлен к элементам управления, таким как asp: CheckBox и asp: radioButton.

0

Вы посмотрели плагин Jquery Validate? http://jqueryvalidation.org/

  • 0
    Да, я уже изучил это. Но, похоже, для каждой страницы нужно внести множество изменений, чтобы создать правила. У меня есть более 25 элементов управления на странице.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню