当前位置:编程学习 > C#/ASP.NET >>

2个密码输入框的要一样,用了验证控件,为什么第一个有输入,第二个不输入却能通过了,有代码

        <tr>
            <td>
                密码:</td>
            <td>
                <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
            </td>
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                    ControlToValidate="TextBox2" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td>
                再输入密码:</td>
            <td>
                <asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox>
            </td>
            <td>
                <asp:CompareValidator ID="CompareValidator1" runat="server" 
                    ControlToCompare="TextBox2" ControlToValidate="TextBox3" 
                    ErrorMessage="两次输入密码不一样"></asp:CompareValidator>
            </td>
        </tr>
--------------------编程问答-------------------- 给第二个输入框再放个RequiredFieldValidator 控件
--------------------编程问答--------------------
引用 1 楼 cpp2017 的回复:
给第二个输入框再放个RequiredFieldValidator 控件


同意 --------------------编程问答--------------------  <asp:TextBox TextMode="Password" CssClass="inputText" id="password" MaxLength="15"  runat="server"/>
 <span>*</span>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3"
ControlToValidate="password" ErrorMessage="请填写密码"
runat="server"/>
<asp:regularexpressionvalidator id="RegularExpressionValidator3" runat="server" ControlToValidate="password"
ErrorMessage="密码不能少于六个字符!" ValidationExpression="[^']{6,15}" Display="Dynamic"></asp:regularexpressionvalidator>
<asp:TextBox TextMode="Password" CssClass="inputText" id="password2" MaxLength="15"  runat="server"/>
 <span>*</span>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4"
ControlToValidate="password2"
ErrorMessage="请填写确认密码"
runat="server"/>
 <asp:CompareValidator ID="CompareValidator1"
ControlToValidate="password2"
ControlToCompare="password" ErrorMessage="两次输入的密码不同" runat="server"/> --------------------编程问答-------------------- 我也遇到过这样的问题~也是用上面的方法~ --------------------编程问答--------------------
引用 3 楼 wuyq11 的回复:
<asp:TextBox TextMode="Password" CssClass="inputText" id="password" MaxLength="15"  runat="server"/>
   <span>* </span>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator3"
 ControlToValidate="password" ErrorMessage="请填写密码"
 runat="server"/>
  <asp:regularexpressionvalidator id="RegularExpressionValidator3" runat="server" ControlToValidate="password"
 ErrorMessage="密码不能少于六个字符!" ValidationExpression="[^']{6,15}" Display="Dynamic"> </asp:regularexpressionvalidator>
  <asp:TextBox TextMode="Password" CssClass="inputText" id="password2" MaxLength="15"  runat="server"/>
   <span>* </span>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator4"
 ControlToValidate="password2"
 ErrorMessage="请填写确认密码"
 runat="server"/>
   <asp:CompareValidator ID="CompareValidator1"
 ControlToValidate="password2"
 ControlToCompare="password" ErrorMessage="两次输入的密码不同" runat="server"/>



这个是对的  1楼说的也行,代码自己写 --------------------编程问答-------------------- 但为什么第二个提示语句靠右边,离左边有一段空白了,
明显不对齐了 --------------------编程问答-------------------- 但为什么第二个提示语句靠右边,离左边有一段空白了, 
明显不对齐了

将前面的一个 
 Display="dynamic" --------------------编程问答-------------------- 学习 --------------------编程问答--------------------     <asp:Label ID="Label4" runat="server" Text="密码"></asp:Label> 
    <asp:TextBox ID="txtpwd" runat="server" TextMode="Password"></asp:TextBox><asp:RequiredFieldValidator
        ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtpwd" ErrorMessage="请输入密码">请输入密码</asp:RequiredFieldValidator>
    <asp:Label ID="Label5" runat="server" Text="确认密码"></asp:Label>
    <asp:TextBox ID="txtpwds" runat="server" TextMode="Password"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtpwds"
            ErrorMessage="RequiredFieldValidator">请输入密码</asp:RequiredFieldValidator>
    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtpwd"
        ControlToValidate="txtpwds" ErrorMessage="密码不一致">密码不一致</asp:CompareValidator><asp:Button
            ID="Button1" runat="server" Text="确定" /></div> --------------------编程问答-------------------- 你少设置一个属性了吧。 选择euqal 好像是个这  --------------------编程问答-------------------- 自己手工写代码哦,一般不用这个做验证 --------------------编程问答-------------------- 加一个不能为空的验证控件即可 --------------------编程问答-------------------- Quote=引用 7 楼 cpp2017 的回复:]
但为什么第二个提示语句靠右边,离左边有一段空白了,
明显不对齐了

将前面的一个
Display="dynamic"
[/Quote]

加了,没有用
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" Display="dynamic" runat="server" 
                    ControlToValidate="TextBox3" ErrorMessage="再输入一个密码"></asp:RequiredFieldValidator>
                <asp:CompareValidator ID="CompareValidator1" runat="server" 
                    ControlToCompare="TextBox2" ControlToValidate="TextBox3" 
                    ErrorMessage="两次输入密码不一样"></asp:CompareValidator>
            </td>

--------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 cpp2017 的回复:
给第二个输入框再放个RequiredFieldValidator 控件

估计是这问题.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,