2012-04-17 2 views
1

Пользовательский валидатор имеет свойства ClientValidationFunction и ControlToValidate. Функция выглядит так:ASP.NET. Каков тип args.Value

function MyValidationFunction(source,args) { 
    if(args.Value==......) 
} 

Я знаю, что здесь «источник» является ControlToValidate. Но я не могу понять, что такое тип args.Value. Что требуется в качестве значения. Когда controltovalidate является текстовым полем, я знаю, что это текст этого текстового поля, но что это такое, если элемент управления является пользовательским элементом управления. Итак, мой вопрос в том, какова ценность для подтверждения и можем ли мы ее изменить?

ответ

1

По-видимому, для проверки на стороне клиента, то Value свойства оказанного управления HTML используются, что имеет смысл, например, для TextBox управления, которые отображены в виде простого <input type="text"> (и чьи value свойства содержит содержимое текстовое поле). Если (под заказ) управления состоит из нескольких элементов управления HTML, проверка на стороне клиента не представляется возможным, в соответствии со следующей статье базы знаний:

Примечание: Эта статья демонстрирует, как продлить контроль календаря только для проверки на стороне сервера. Для проверки на стороне клиента контрольные проверки подключаются к соответствующему элементу управления HTML Value. Поскольку для создания элемента управления календарем используется множество элементов управления HTML, ни один элемент управления HTML не содержит выбранного значения для элемента управления календарем. Таким образом, проверка на стороне клиента не подходит для элемента управления календаря.

Кстати, для стороне сервера проверки, вы можете использовать атрибут ValidationProperty указать, какое свойство используется для проверки.


EDIT: Согласно this SO question, если выводить <input type="hidden"> в качестве первого контроля вашего пользовательского элемента управления, это будет использоваться для проверки на стороне клиента. Это может оказаться полезным решением, если вам удобно хранить в нем фактическое контрольное значение.

1

Ref: ASP.NET Validation in Depth

два параметра передаются в вашей клиентской функции, соответствующие параметры, которые передаются функции сервера. Первый - это элемент проверки клиента, а второй - эквивалент аргументов на сервере. Он имеет два свойства: значение, которое содержит вход для проверки и IsValid, который вы можете обновить , чтобы указать срок действия.

function CheckEven(source, args) { 
    var val = parseInt(args.Value, 10); 
    if (isNaN(val)) { 
     args.IsValid = false; 
    } 
    else { 
     args.IsValid = ((val % 2) == 0); 
    } 
} 

Вы не можете изменить значение, это только для чтения. проверка erverValidateEventArgs.Value Property и Using the CustomValidator Control

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