1

type属性はstringに設定されており、最小値=0および最大値=100です。

入力されたデータがデータベースで定義された列の長さを超えないようにしたい。

テストすると、1文字か2文字入力しても、常にエラーメッセージが表示されます。

4

2 に答える 2

3

これには、RegularExpressionValidator を使用する必要があります。RangeValidators は文字列の長さではありません。ValidationExpression を のようなものに設定するか、必要に応じてまたはまたは何か.?のようなものに絞り込むことができます。\S?\w?

また、MultiLine モードではない TextBox を使用している場合 (最大値が 1 文字である理由はありません) MaxLength="1"、コントロールに設定するだけで、バリデーターはまったく必要ありません。

編集:複数行の TextBox で 1 より大きい最大長を指定する場合は、上記のように RegularExpressionValidator を使用できますがValidationExpression=".{0,100}"、最大長を 100 に設定します。正規表現量指定子の詳細については、こちらを参照してください

1 行の TextBox がある場合は、その MaxLength 属性を目的の最大値に設定するだけで、それ以上の長さは許可されません。バリデータは必要ありません。

ユーザーが入力した長さをリアルタイムで検出する必要がある場合は、さらに複雑になり、JavaScript が必要になります。JavaScript がオフになっているユーザーはクライアント側の検証をバイパスできるため、入力サーバー側も引き続き検証する必要があります。

于 2011-04-13T03:32:12.110 に答える
1

コントロールの "MaxLength" プロパティを 1 に設定します。このMSDN ページでは、プロパティとその使用方法について説明しています。

RangeValidator は長さではなく入力の値を検証するため、バリデーターで有効な入力を {0, 1} に制限しています。

于 2011-04-13T03:32:59.807 に答える