Для этого вы должны использовать RegularExpressionValidator. RangeValidators не предназначены для длин строк. Установите ValidationExpression на что-то вроде .?
, или вы можете сузить его до чего-то вроде \S?
или \w?
или чего-то еще, если хотите.
Кроме того, если вы работаете с TextBox, который не находится в многострочном режиме (и нет причин, по которым это было бы, если максимум составляет один символ), вы можете просто установить MaxLength="1"
в элементе управления, и вам вообще не понадобится валидатор.
EDIT: Если вы хотите указать максимальную длину больше единицы в многострочном текстовом поле, вы можете использовать RegularExpressionValidator, как описано выше, но установите ValidationExpression=".{0,100}"
для максимальной длины 100. Дополнительная информация о квантификаторах регулярных выражений доступна здесь.
Если у вас есть однострочный TextBox, просто установите для его атрибута MaxLength желаемый максимум, и он не допустит ничего длиннее этого; валидатор не требуется.
Если вы хотите сделать что-то, связанное с определением длины в реальном времени по мере того, как пользователь ее вводит, это сложнее, и вам понадобится JavaScript. Вы также должны проверять входные данные на стороне сервера, потому что любой пользователь с отключенным JavaScript сможет обойти проверку на стороне клиента.
person
Justin Morgan
schedule
13.04.2011