【问题标题】:asp validation off by defaultasp验证默认关闭
【发布时间】:2009-10-28 09:53:16
【问题描述】:

我在我的页面上使用 asp:requiredfieldvalidator。为控件关闭此功能的常用方法是设置

CausesValidation="false"

但是,我不想引起验证的按钮比需要验证的按钮多。

所以我的想法是默认关闭它并在需要时打开它会更容易,但我不知道如何。

提前致谢

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    我认为默认情况下您不能将其关闭,但您可以在要进行验证的按钮和它们应该验证的控件上设置 ValidationGroup 属性。

    代码示例:

    <asp:TextBox ID="tb1" runat="server" ValidationGroup="ValidateMe" />
    <asp:TextBox ID="tb2" runat="server" />
    <asp:RequiredFieldValidator" ID="rfv1" runat="server" ControlToValidate="tb1" ValidationGroup="ValidateMe" />
    ...
    <asp:Button ID="btnSubmit" runat="server" ValidationGroup="ValidateMe" />
    

    当点击 btnSubmit 时,只有 tb1 将被验证,而不管任何其他验证控件应用于 tb2。

    【讨论】:

    • 不是我希望的那样安静,但它给了我一些想法
    【解决方案2】:

    在您的标记中,您可以设置Enabled 标志(我会说这是比CausesValidation 更明确的关闭方式):

    <asp:requiredfieldvalidator Enabled="false" id="rfv1" ControlToValidate="whatever" />
    

    然后在您的代码隐藏中选择性地启用它:

    rfv1.Enabled = True
    

    CausesValidation 当你想在验证器启用时点击一个按钮时出现。 &lt;asp:button id="btnSubmit" Text="Submit" /&gt; 在验证器启用时将不起作用,但无论验证器处于何种状态,仍然可以单击&lt;asp:button id="UnvalidatedButton" Text="Toggle Validation State" CausesValidation="false" /&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-11
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2013-09-12
      相关资源
      最近更新 更多