Итак, я уже написал специальный метод проверки jQuery. И привязано к 1 или более индивидуальное выпадающие списки. (Я в asp.net, кстати)jQuery Validator на уровне страницы
jQuery.validator.addMethod("dropdownBoxHasItemSelected", function (value, select, arg) {
var returnValue = false;
var selectedIndex = $(select).prop("selectedIndex");
if (selectedIndex != 0) {
returnValue = true;
}
return returnValue;
}, "Please select a item.");
Так что это не мой вопрос на самом деле.
У меня есть проверка, которая должна выполняться на уровне страницы. Или, может быть, на уровне «GridView» это лучший способ рассказать об этом.
Вот сценарий: (я использую выдуманные данные, чтобы сделать объяснение проще идти, иначе, я действительно не имеют игрушки и еду)
У меня есть вид сетки.
Column A of the gridview is of no consequence of this, but it exists.
Column B of the gridview has a DropDownList for "FavoriteToy".
Column C of the gridview has a DropDownList for "FavoriteFood".
Так что правила идут примерно так.
Для каждой строки в GridView:
You must pick a FavoriteToy or a FavoriteFood for each row.
You can pick a FavoriteToy OR a FavoriteFood, but not both on the same row.
If you pick a FavoriteToy of "TeddyBear" in RowX, none of the other rows can have TeddyBear chosen. (Aka, each row must have a distinct FavoriteToy chosen)
If you pick a FavoriteFood of "AppleButter" in RowX, none of the other rows can have AppleButter chosen. (Aka, each row must have a distinct FavoriteFood chosen)
Новые строки могут быть добавлены к GridView, если это желательно. Также есть кнопка «удалить», на всякий случай пользователь исчерпал все комбинации FavoriteToy и FavoriteFood.
Теперь я написал всю логику проверки (используя синтаксис jQuery, чтобы проверять значения и перебирать все) просто отлично.
Я ищу совет о том, как подключить «валидатор общего вида сетки», используя jQuery.validator.addMethod.
Я предполагаю, что смогу подключить его к asp: Ярлык («вход» типа = «текст» на стороне клиента), поэтому появляется сообщение об ошибке.
Или, может быть, вид сетки отображается как «таблица» на стороне клиента.
Какой-либо общий совет?
================================================================================================================================== ======================
То, что я положил в до сих пор:
аспида: чистый контроль:
<asp:HiddenField ID="hidGridViewValidatorPlaceHolder" runat="server" />
и метод ниже
jQuery.validator.addMethod("gridViewValiatorMethod", function (value, select, arg) {
var returnValue = true;
var errorMsg = SuperValidationWrapper();
if (errorMsg != "") {
alert(errorMsg);
returnValue = false;
}
return returnValue;
}, "Please address the issues in the gridview.");
SuperValidationWrapper() имеет все loopty-петли. И я возвращаю конкатенированную строку, там есть какие-то проблемы. Мне это не нравится, но это то, что я сделал.
В окне предупреждения вы найдете подробную информацию и текст «Пожалуйста, обращайтесь к проблемам в gridview». появляется, если есть какие-либо проблемы.
Любые улучшения оцениваются.
+1 За «ака, я на самом деле не имеют игрушек и продуктов питания» –
Хах! Мне нравится держать фокус на фактической проблеме, а не объяснять объекты моего домена и т. Д. И т. Д. У меня есть эта одна модель шаблонов проектирования C#, которая использует шаблон абстрактной фабрики, используя «Плавательные полосы» ...... и каждый раз, когда я прочитайте, я понятия не имею, что он говорит. Плохой пример для (большинства разработчиков). Но приложение «Игрушки и еда» действительно звучит весело! – granadaCoder