RegularExpressionValidator
を使用してTextBox
入力の長さを検証しようとしています。私はそれが働いているが、それは文字と数字だけを受け入れる。 にはの文字を使用できます(唯一のチェックは25文字以内です)。RegularExpressionValidatorで文字の種類に制限のない入力長を制限する
<asp:TextBox ID="MenuLabel" runat="server" />
<asp:RegularExpressionValidator ValidationExpression="^[a-zA-Z0-9]{25}$" ID="MenuLabelVal" runat="server" ErrorMessage="Menu Label must be no longer than 25 characters." ControlToValidate="MenuLabel" />
正規表現は、私の強いスーツではありませんので、私は任意の文字最大25倍だけではなく、英数字を表現するために^[a-zA-Z0-9]{25}$
を変更する方法を誰かが私に言うことができます。
注1:私はすでにRequiredFieldValidator
を1文字以上確保しています。
注2:私はちょうどテキストボックスにMaxLength
プロパティを使用することができます知っているが、しかし、この形式は、既存のデータを編集するためにもある、と私は編集しているとき、それは単に既存のレコードを切り捨てる必要はありません。私は、ユーザーが気づかずにフォームを切り捨てるのではなく、値を短くする必要がある既存のデータを編集するユーザーにとって明白なバリデーターを実装したいと考えています。
注3:クライアント側の検証にのみ依存する限り、カスタムバリデータなどの代替ソリューションが公開されています。私はコードビハインドにアクセスしてサーバー上にカスタムの検証ハンドラを書くことはできません。
ありがとう私はそれを試してみましょう。現在のフォームには検証がありません。テキストボックスにMaxLengthを125に設定するだけです。少なくともそれにはハートの制限があります。 –
2番目のバージョンはもっと速くなければなりません – abatishchev
私は '。{25}'と '^。{25} $'の両方を試しました。どちらも0または25文字で有効です。 1〜24は無効として検証されます。それは '^。{1,25}'でしょうか? –