2009-08-27 3 views
1

Я создал шаблон записи для данных, который повторяется несколько раз. Теперь я хочу убедиться, что хотя бы один из этих элементов заполнен.Проверка ASP.net от codebehind

способ, которым я это делаю, - использовать свойство Count из общего списка List, чтобы увидеть, сколько из них используется (в моем контроле есть какая-то логика позволяет мне просто выбирать записи, которые фактически используются).

Есть ли способ, что я могу добавить что-то к ValidationSummary страницы, чтобы уведомить пользователя, который должен быть заполнен по крайней мере один Itme. я хочу сделать кол-чек в код ...

if (EnteredClasses.Count > 0) 
{ 
    //do stuff here 
} 
else 
{ 
    //show validation error 
} 

ответ

2

Я бы использовал элемент управления CustomValidator, встроенный в функцию ServerValidate, а также проверил для параметра Page.IsValid. Сообщение об ошибке затем для вашего элемента управления CustomValidator будет отображаться в сводке проверки, если функция ServerValidate устанавливает значение args.IsValid равным false.

Andrew

+0

Я не знал, что customvalidators не имели требования ControlToValidate до сих пор, thx :) –

0

Использовать CustomValidator. При их использовании вы можете написать любую логику, которая вам нравится.

0

Я бы обманул и объединил два метода. В соответствии с вашим вопросом вы, похоже, нуждаетесь в использовании сводки валидации, поэтому вам нужна базовая проверка asp. Затем вам нужно использовать специальный валидатор.

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

function ClientValidate(source, agruments) 
    { 
     // Do your check here where source is the span for the validator and 
     // argument is an object with .value the value of the control to which 
     // the validator is attached and .isvalid that indicate if the validation 
     // checks out (that's what you set to true or false) 
    } 

Проблема если вы хотите проверить несколько элементов не Juste один. поэтому я бы выполнил этот метод и проигнорировал аргументы.value, чтобы затем использовать jQuery, чтобы проверить всю вашу форму и выполнить всю необходимую проверку, а затем установить isvalid.

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