Asp.net ASP:NET确认密码字段

Asp.net ASP:NET确认密码字段,asp.net,webforms,Asp.net,Webforms,我正在asp.net中创建一个简单的注册表。 我的问题是: 如果我的确认密码字段为空,它仍然提交表单。我使用的是compareToValidate,我还需要使用requiredvalidator。我是asp.net新手,但如果密码为123,而确认密码为空,则comparevalidator不应生成错误 <fieldset> <legend>Enter your data</legend> <table>

我正在asp.net中创建一个简单的注册表。 我的问题是: 如果我的确认密码字段为空,它仍然提交表单。我使用的是compareToValidate,我还需要使用requiredvalidator。我是asp.net新手,但如果密码为123,而确认密码为空,则comparevalidator不应生成错误

        <fieldset>
       <legend>Enter your data</legend>
       <table>
        <tr>
       <td align="right">User Name :</td>
       <td>&nbsp;</td>
         <td align="left">
        <asp:TextBox ID="tbUsername" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfvUserName" runat="server" 
        ControlToValidate="tbUsername" 
        CssClass="ValidationError"
        ErrorMessage="&laquo; (Required)"
        ToolTip="User Name is a REQUIRED field"
        ></asp:RequiredFieldValidator>
        </td>
</tr>`enter code here`
<tr >
<td align="right">Password&nbsp;:&nbsp;</td>
<td>&nbsp;</td>
<td align="left"> 
    <asp:TextBox ID="tbPassword" runat="server" TextMode="Password"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
     ErrorMessage="&laquo; (Required)" 
     ControlToValidate="tbPassword"
     CssClass="ValidationError"

    ToolTip="Password is a REQUIRED field"
    ></asp:RequiredFieldValidator>
</td>

</tr>
<tr >
<td align="right">Confirm Password&nbsp;:&nbsp;</td>
<td>&nbsp;</td>
<td align="left"> 
    <asp:TextBox ID="ConfirmPass" runat="server" TextMode="Password"></asp:TextBox>
     <asp:CompareValidator ID="CompareValidator1" runat="server" 
     ControlToValidate="ConfirmPass"
     CssClass="ValidationError"
     ControlToCompare="tbPassword"
     ErrorMessage="No Match" 
     ToolTip="Password must be the same" />

</td>

</tr>

输入您的数据
用户名:
`在这里输入代码`
密码:
确认密码:

您还必须提供所需的验证器!Compare validator只会将值与目标控件进行比较,并提醒用户

<td align="left"> 
    <asp:TextBox ID="ConfirmPass" runat="server" TextMode="Password"></asp:TextBox>

    <asp:CompareValidator ID="CompareValidator1" runat="server" 
     ControlToValidate="ConfirmPass"
     CssClass="ValidationError"
     ControlToCompare="tbPassword"
     ErrorMessage="No Match" 
     ToolTip="Password must be the same" />

    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
     ErrorMessage="&laquo; (Required)" 
     ControlToValidate="ConfirmPass"
     CssClass="ValidationError"
     ToolTip="Compare Password is a REQUIRED field">
    </asp:RequiredFieldValidator>
</td>


希望这对你有帮助

我知道这正是它应该做的。CompareValidator控件用于将一个输入控件的值与另一个输入控件的值或固定值进行比较

如果输入控件为空,则不调用验证函数,验证成功。使用RequiredFieldValidator控件防止用户跳过输入控件


参考资料:

简单方法 这真的很有效

当验证器上的工具提示在错误发生之前不可见时,您不认为这有点毫无意义吗?