我需要验证文本框值,以确保它只包含数字,我需要显示两条错误消息。当文本框为null并且输入不是数字时。我想使用正则表达式来验证输入。密码的最小长度为8.这是我的代码:
<div class="col1"> </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"/>
<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#。
答案 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" />