ASPX表单中的错误消息和验证数据

时间:2016-12-09 01:17:44

标签: javascript c# asp.net regex

我需要验证文本框值,以确保它只包含数字,我需要显示两条错误消息。当文本框为null并且输入不是数字时。我想使用正则表达式来验证输入。密码的最小长度为8.这是我的代码:

<div class="col1">&nbsp;</div>
<div class="col2">Password</div>
<div class="col3">:</div>
<div class="col4">
    <asp:TextBox ID="passgen" CssClass="clsTxtBox10char" runat="server" TabIndex="1" MaxLength="8"/>&nbsp;
    <span class="clsRed">*</span>

这是我的JavaScript:

function validate() {
    var PassGen = document.getElementById('<%=passgen.ClientID %>').value;
    if (PassGen == "") {
        alert("Password is empty");
        return false;
    }
}

如何更改我的代码以达到要求以及我应该使用哪个正则表达式?我正在使用visual studio 2012,ASPX Web表单和C#。

2 个答案:

答案 0 :(得分:1)

您可以为单个控件使用多个验证器。

<asp:TextBox ID="passgen" CssClass="clsTxtBox10char" runat="server" TabIndex="1" />

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="passgen" ErrorMessage="Cannot be null" Display="Dynamic"></asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Numbers only" ControlToValidate="passgen" ValidationExpression=@"^\d+?$" Display="Dynamic"></asp:RegularExpressionValidator>

<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="passgen" Operator="GreaterThanEqual" Display="Dynamic" Type="Integer" SetFocusOnError="true"  ValueToCompare="8" ErrorMessage="Minimum of 8 characters"></asp:CompareValidator>

答案 1 :(得分:0)

你有几个选项,你可以使用模式来验证字符数量,当字段为空时需要解决问题

<asp:TextBox ID="passgen" CssClass="clsTxtBox10char" runat="server" TabIndex="1"  
 pattern=".{8,}" required  title="More than eight characters"   />