【问题标题】:Error message (validation) not shown when submitting with ENTER (c#/asp.net)使用 ENTER 提交时未显示错误消息(验证)(c#/asp.net)
【发布时间】:2012-02-15 14:31:20
【问题描述】:

在我的应用程序中,您在输入字段中填写一个数字,该数字将在客户端由不同的验证器进行验证。我有一个外部 JS 文件,其中包含将输入字段置于焦点并选择先前输入的数字的代码。我还在我的表单标签中包含了“默认按钮”,这样输入一个新数字并提交表单就很容易而且速度很快(只需再次输入并按 ENTER)

除了一件事,一切都很好。当键入超出允许范围的数字或将输入字段留空时,仅当使用鼠标按钮单击提交按钮时才会显示错误消息。如果使用 ENTER 键单击,则显示输入字段旁边的“*”,但不显示错误消息。

我希望下面的代码足以能够看出问题所在。

提前致谢。

<form id="form1" runat="server" defaultbutton="btnCheckNr">
...
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
    <asp:TextBox ID="inputBox" runat="server" Height="22px" Width="75px" />

    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="inputBox" Display="Dynamic" 
            ErrorMessage="Type a number between 1 and 100." SetFocusOnError="True">*</asp:RequiredFieldValidator>

        <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Skriv ett heltal mellan 1 och 100." Text="*"
            MaximumValue="100" MinimumValue="1" Type="Integer" ControlToValidate="inputBox" Display="Dynamic"></asp:RangeValidator>

    <asp:Button ID="btnCheckNr" runat="server" Text="Skicka gissning" onclick="btnCheckNr_Click" />

...
</form>

JS:

var Capsule = {

    init: function() {
        var input = $('#inputBox');

        if (!input.is(":disabled")) {
            input.focus();
            input.select();
        }
    }
}

window.onload = Capsule.init;

【问题讨论】:

    标签: jquery asp.net forms validation


    【解决方案1】:

    如果我错了,请纠正我,但看起来您的范围验证器以及所需的字段验证器都需要修改。

    不应该这样吗?

    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="inputBox" Display="Dynamic" ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
    
    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Skriv ett heltal mellan 1 och 100." MaximumValue="100" MinimumValue="1" Type="Integer" ControlToValidate="inputBox" Display="Dynamic"></asp:RangeValidator>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 2019-02-24
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      相关资源
      最近更新 更多