我很尴尬地发布这个,因为我很确定我错过了一些非常简单的东西,而且这肯定不是我第一次使用 asp 验证器。我有以下验证器控件:
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtTitle" EnableClientScript="false" ErrorMessage="*" ValidationGroup="groupUpdateAL" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtAbbr" EnableClientScript="false" ErrorMessage="*" ValidationGroup="groupUpdateAL" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="ddlColour" EnableClientScript="false" ValidationGroup="groupUpdateAL" ErrorMessage="*" />
<asp:Button ID="btnSave" runat="server" Text="Save" ValidationGroup="groupUpdateAL" CausesValidation="true" /><br />
出于某种原因,如果将控件留空,则会出现以下错误:
Length cannot be less than zero.
Parameter name: length
似乎验证控件没有捕获无效输入。
我试过的:
我怀疑可能是客户端验证拦截了回发,这就是为什么您现在可以看到 EnableClientScript 设置为 false 的原因。没用。