0

Visual Basic.Net と ASP を使用して、検証を行うフォームを作成しようとしています。

次のように、RegularExpressionValidator をテスト用のフォーム フィールドにドロップし、Page_Load 関数の Visual Basic コードを介して属性を割り当てました。

LoginID.ValidationExpression = "[\\s\\S]{0,3}"
LoginID.ErrorMessage = "Maximum 3 characters are allowed."

テスト目的で最大 3 文字を設定しました。そのテキスト フィールドへの入力は長さに関係なく無効になり、エラー メッセージは在庫値から更新されません。

なぜこれが起こっているのですか、どうすれば修正できますか?

編集:

私が持っている正規表現はうまく機能します。私はすでにそれをテストしました。他に何か問題があるはずです。

もっと見る必要がある人のために、コードの大部分を次に示します。これ以外に、関連するものは他にありません。

<%-- ASP code %>
<th width="200"><span class="required">*</span>Create Login ID :</th>
     <td width="230" align="left"><asp:TextBox ID="txtLoginID" runat="server"          CssClass="inputbox" MaxLength="50"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="First" CssClass="ValueValidator" ControlToValidate="txtLoginID" Display="Dynamic" runat="server" ErrorMessage="<br>Please Enter LoginID"></asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="ValRegExLoginID" runat="server" ControlToValidate="txtLoginID" CssClass="ValueValidator" ErrorMessage="*"></asp:RegularExpressionValidator>

</td>

//Visual Basic Code
Protected Sub Page_Load(ByVal source As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not IsPostBack Then
    ValRegExLoginID.ValidationExpression = "[\\s\\S]{0, 3}"
    ValRegExLoginID.ErrorMessage = "Maximum 3 characters are allowed."
End If

End Sub
4

1 に答える 1

0

最大 3 文字が許可されている正規表現は次のとおりです。

^.{0,3}$

だから交換

LoginID.ValidationExpression = "[\\s\\S]{0,3}"

LoginID.ValidationExpression = "^.{0,3}$"
于 2012-12-12T18:29:10.560 に答える