type属性はstringに設定されており、最小値=0および最大値=100です。
入力されたデータがデータベースで定義された列の長さを超えないようにしたい。
テストすると、1文字か2文字入力しても、常にエラーメッセージが表示されます。
type属性はstringに設定されており、最小値=0および最大値=100です。
入力されたデータがデータベースで定義された列の長さを超えないようにしたい。
テストすると、1文字か2文字入力しても、常にエラーメッセージが表示されます。
これには、RegularExpressionValidator を使用する必要があります。RangeValidators は文字列の長さではありません。ValidationExpression を のようなものに設定するか、必要に応じてまたはまたは何か.?
のようなものに絞り込むことができます。\S?
\w?
また、MultiLine モードではない TextBox を使用している場合 (最大値が 1 文字である理由はありません) MaxLength="1"
、コントロールに設定するだけで、バリデーターはまったく必要ありません。
編集:複数行の TextBox で 1 より大きい最大長を指定する場合は、上記のように RegularExpressionValidator を使用できますがValidationExpression=".{0,100}"
、最大長を 100 に設定します。正規表現量指定子の詳細については、こちらを参照してください。
1 行の TextBox がある場合は、その MaxLength 属性を目的の最大値に設定するだけで、それ以上の長さは許可されません。バリデータは必要ありません。
ユーザーが入力した長さをリアルタイムで検出する必要がある場合は、さらに複雑になり、JavaScript が必要になります。JavaScript がオフになっているユーザーはクライアント側の検証をバイパスできるため、入力サーバー側も引き続き検証する必要があります。
コントロールの "MaxLength" プロパティを 1 に設定します。このMSDN ページでは、プロパティとその使用方法について説明しています。
RangeValidator は長さではなく入力の値を検証するため、バリデーターで有効な入力を {0, 1} に制限しています。