2014-02-19 5 views
0

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

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

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

control.Attributes.Add ("isMandatory", "правда")

Здесь управления является 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 = «сервер» тег)

Вот мой фактический 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; 

}

ответ

0

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

+0

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

0

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

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

Смежные вопросы