|
分類:[.NET 全般]
vb.net .net Framework4.8 WebForm bootstrap,jQuery使用
入力フィールドに比較演算子(<)を入力するとエラーになるようで、web.configに設定したエラーページに飛ばされてしまいます。 下の、「お問い合わせ内容」フィールドに「”%&¥*+,;?|~’<=>」の記号を入力できないようにコーディングし、テストをしていたところ、「”%&¥*+,;?|~’<=>」の内、"<"を入力した時だけシステムエラーになってしまい、その原因が分かりません。">"はシステムエラーにはならず、期待通りに動きました。 "<"を入力した時は、Page_Loadにも入らず、正規表現の比較ロジックは通りません。マスターページのPage_Loadには入り、エラーにならない時と同様に問題なく通過します。
◆aspx <div class="form-group row"> <label for="txtName" class="col-sm-4 col-form-label d-flex align-items-center">お名前</label> <div class="col-sm-8"> <asp:TextBox ID="txtName" CssClass="form-control form-control-lg" runat="server" ToolTip="お名前" placeholder="例)山田 太郎"></asp:TextBox> </div> </div> <asp:TextBox ID="txtMessage" CssClass="form-control form-control-lg" runat="server" ToolTip="お問い合わせ内容" placeholder="" TextMode="MultiLine" rows="5"></asp:TextBox>
◆vb Dim reg = New Regex("\b[""%&,;<=>~'\b*\b+\b?\b|\b\\]\b", RegexOptions.Compiled) Dim result As Boolean = reg.IsMatch(Me.txtMessage.Text) If result Then Return False End If
◆web.config <system.web> <customErrors defaultRedirect="/xxxxx/Services/main/errorpage.aspx" mode="On"/> <compilation debug="true" strict="false" explicit="true" targetFramework="4.8"/> <httpRuntime targetFramework="4.8"/> </system.web>
|