验证动态创建的文本框以仅输入数字

时间:2013-08-31 07:59:17

标签: c# asp.net dynamic-text

我已经动态创建了文本框,它继续添加按钮点击工作正常,但现在我想验证动态创建的每个文本框应该只接受数字数据作为输入。

我该怎么做?我没有使用jQuery动态创建文本框,但在asp.net中使用了C#。

3 个答案:

答案 0 :(得分:1)

您可以使用CompareValidator

  

将输入控件中用户输入的值与   值输入另一个输入控件或具有常量值。

<asp:TextBox ID="TextBox1" runat="server />
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TextBox1" Type="Integer"
   Operator="DataTypeCheck" ErrorMessage="Wrong value. Value must be an integer!" />

作为替代方案,您可以RegularExpressionValidator使用"\d+"模式。

答案 1 :(得分:1)

在动态创建的文本框中添加一个类,请参阅代码

<asp:TextBox ID="TextBox1" runat="server CssClass="numeric" />

客户端代码

<script type="text/javascript">
  $(document).ready(function () {
     $('.numeric').keyup(function () {
                    this.value = this.value.replace(/[^0-9\.]/g, '');
                });
        });
 </script>

您动态添加多少文本框将起作用

答案 2 :(得分:0)

您可以将规则添加到通配符选择器与.each()匹配的每个项目中,如下所示:

$("#SubmitForm").validate();
$("input[id*=Hours]").each(function() {
$(this).rules("add", {
    number: true,
    messages: {
        number: "Please enter a valid Hours"
    }
});
});