如何使用CompareValidator检查文本是否包含任何数字

时间:2014-01-11 10:55:48

标签: c# asp.net validation comparevalidator

我尝试验证名称和姓氏。我需要检查用户的输入是否没有数字字符,但是当我运行代码时,不会出现错误消息。这是我的代码:

            <asp:CompareValidator ID="CompareValidator2" runat="server" 
                ControlToValidate="TextBox3" ErrorMessage="ชื่อต้องเป็นตัวอักษรเท่านั้น" 
                ForeColor="Red" Operator="DataTypeCheck" Type="String" ValidationGroup="Group1">*</asp:CompareValidator>
            <asp:CompareValidator ID="CompareValidator3" runat="server" 
                ControlToValidate="TextBox6" ErrorMessage="นามสกุลต้องเป็นตัวอักษรเท่านั้น" 
                ForeColor="Red" Operator="DataTypeCheck" Type="String" ValidationGroup="Group1">*</asp:CompareValidator>

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:1)

除了CompareValidator之外,尝试使用 RegexExpressionValidator

<asp:RegularExpressionValidator ID="ValidName" runat="server" ControlToValidate="Name" Display="Dynamic" ValidationGroup="Group1" ValidationExpression="^[^0-9]+$">syntax error...</asp:RegularExpressionValidator>

答案 1 :(得分:0)

您可以改为使用CustomValidator,如下所示:

<asp:CustomValidator ID="NoneNumeric" runat="server" ControlToValidate="txtNoneNumeric" ClientValidationFunction="IsNoneNumeric">Enter Only None Numeric Values !</asp:CustomValidator>

并编写一个javascript函数如下:

    <script type="text/javascript">
    function IsNoneNumeric(sender, arguments) {
        var NoneNumeric = true;
        for (count = arguments.Value.length; count > 0; count--) {
            TempChar = arguments.Value.substring(count, count + 1);
            if (numString.indexOf(TempChar, 0) != -1) {
                NoneNumeric = false;
            }
            if (NoneNumeric == true) {
                arguments.IsValid = true;
            }
            else {
                arguments.IsValid = false;
            }
        }
    }
</script>