RegularExpressionValidator
に入力するテキストの量を制限するためにを使用していTextArea
ます。式は"^[\s\S]{0,750}$"
です。これはほぼ完璧に機能しますが、奇妙な動作に気づきました。
749文字と1つの改行(または748文字と2つの改行など)を入力すると、ブラウザー間で一見正しくない、一貫性のない動作が見られます。これは、改行が1文字または2文字(CRとLF)として一貫して扱われていないことと関係があると思います。
IE 8-これは(正しく)751文字と見なされ、ページを送信できないため、クライアント側の検証は失敗します。IE 9およびFirefox-クライアント側の検証に合格し、値が投稿されます。ただし、ポストバック時に検証エラーメッセージが表示されます。ただし、値は引き続き受け入れられますが、751文字になるため、これは誤りです。
これを引き起こしている原因と、実際にテキスト領域をN文字に制限する方法を知っている人はいますか?
編集:正規表現を修正しました
編集:これをフォローアップするだけです。RegularExpressionValidatorがどの程度正確に機能しているかを判断するのは困難だったため、カスタムバリデーターに切り替えて、手動で正規表現チェックを実行しました。これで問題は解決しました。