使用vb.net web forma验证文本框

时间:2015-04-27 13:44:09

标签: asp.net vb.net

我需要帮助来限制我的文本框只接受数字。我有另一个文本框事件textchanged,在这种情况下,我想不允许用户写其他字符而不是数字。已经实现了maxlength但我无法验证只是数字。 这是我想要实施的条件:

Context.MODE_PRIVATE

3 个答案:

答案 0 :(得分:2)

您可以在aspx page中完成此操作,如下所示: -

<asp:TextBox ID="txtNumbers" runat="server" autocomplete="off" ValidationGroup="AddNew"></asp:TextBox>
<asp:RegularExpressionValidator ID="regNumbers" runat="server" ErrorMessage="Only numbers are allowed" ControlToValidate="txtNumbers" ValidationExpression="^[0-9]*$" ValidationGroup="AddNew"></asp:RegularExpressionValidator>

您无需使用code-behind即可。 希望这有帮助

答案 1 :(得分:1)

您可以从代码后面添加验证器。尝试执行以下操作:

 Protected Sub txtIdType_TextChanged(sender As Object, e As EventArgs)
            Dim txtb As TextBox = CType(FormViewPerson.FindControl("txtIdType"), TextBox)
            Dim txtb1 As TextBox = CType(FormViewPerson.FindControl("TextBoxIDCode"), TextBox)

            If (txtb.Text = "Leternjoftimi" OrElse txtb.Text = "KosovoIDCard" OrElse txtb.Text = "Licna karta") Then

            txtb1.MaxLength = 10
            Dim validator As New RegularExpressionValidator()
            validator.ID = "validator" + New Random().[Next](100, 1000)
            validator.ControlToValidate = CType(FormViewPerson.FindControl("TextBoxIDCode"), TextBox).ID
            validator.ValidationExpression="^[0-9]*$"    
            FormViewPerson.Controls.Add(validator)

            End If

        End Sub
  

Suksese!

答案 2 :(得分:1)

我使用此功能解决了我的问题:

 For Each ch As Char In txt.Text
                If Not Char.IsDigit(ch) Then
                    txt.Text = ""
                    Exit Sub
                End If
            Next