从验证器中删除的字符串仍显示在项目中

本文关键字:显示 项目 字符串 验证 删除 | 更新日期: 2023-09-27 18:05:23

如果可能的话,我试图把一个表单和工作在ASP验证框架内。最近,重新考虑一些验证似乎是明智的,所以我去掉了四个验证器,并用一个CustomValidator代替它们。现在我有两个CustomValidator(之前我有一个CustomValidator和四个RegulorExpressionValidator)。

奇怪的是。我的一个自定义验证器不知何故显示了来自我删除的验证器的错误消息。我实际上已经仔细检查并确认它显示的string不再在项目中。也不在我要部署到的目录中。(我建造,清理,重建)。

此外,这似乎不是浏览器缓存问题,因为我已经关闭了缓存(FF Web Developer)。这个问题也会根据我在页面中放置验证器的位置而改变(再次验证这不是一些奇怪的缓存问题)。

我终于能够通过validator标签内的内容来解决它了。

<asp:CustomValidator
        ID="validateUrl"
        OnServerValidate="ValidateWebsiteUrl"
        ClientValidationFunction="isUrlValid" 
        ControlToValidate="websiteURLInput"
        ValidationGroup="CommentGroup"
        runat="server" 
        ForeColor="#991112"
>Please enter a valid URL</asp:CustomValidator>

但是失败了:

<asp:CustomValidator
        ID="validateUrl"
        OnServerValidate="ValidateWebsiteUrl"
        ClientValidationFunction="isUrlValid" 
        ControlToValidate="websiteURLInput"
        ValidationGroup="CommentGroup"
        runat="server" 
        ForeColor="#991112"
        ErrorMessage="Please enter a valid URL" />

这样做(没有错误消息):

<asp:CustomValidator
        ID="validateUrl"
        OnServerValidate="ValidateWebsiteUrl"
        ClientValidationFunction="isUrlValid" 
        ControlToValidate="websiteURLInput"
        ValidationGroup="CommentGroup"
        runat="server" 
        ForeColor="#991112" />

从验证器中删除的字符串仍显示在项目中

验证器控件有一个Text和一个ErrorMessage属性,在正常使用中,Text会覆盖ErrorMessage,并且标签内的内容与Text属性相同(如Label.Text)

如果没有指定Text或使用ValidationSummary,则使用ErrorMessage。

我希望这能帮助你找到真正的问题。