asp.net是否有内置机制可以清理所有文本框输入而不是重定向到错误页面?

我有一个文本框输入,用户可以在其中输入名称,但是如果他们尝试输入并且<!> lt; <!> gt;标记页面会自动抛出错误。我只是想以用户友好的方式处理这个错误。

有帮助吗?

解决方案

您可以使用ASP.NET RegularExpressionValidator控件模式如:^[^<>]*$

<asp:RegularExpressionValidator ID="rev" runat="server"
    ControlToValidate="txtBox"
    ErrorMessage="The <> tags are not allowed!"
    ValidationExpression="[^<>]*" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox" 
    ErrorMessage="Value can't be empty" />

RequiredFieldValidator 与RegularExpressionValidator一起使用以防止空白条目。如果该文本框是可选的,并且只需要在输入内容时进行验证,那么您不必使用RequiredFieldValidator。

这样做的好处是可以优雅地处理错误,并且可以在同一页面上通知用户。

但是,如果您需要为许多文本框执行此操作,并且您只想呈现比错误页面更好的内容,则可以处理ValidateRequest错误以提供更友好的消息并使用户保持在同一页面上(而不仅仅是替换它带有自定义错误页面)。有关更多信息,请查看Kirk Evans的帖子:处理ValidateRequest错误在页面内(请参阅标题为覆盖OnError方法的部分)。

其他提示

您需要查看 AntiXSS 库那。这是一个dll,因此很容易插入并开始使用它。

下载时间为 CodePlex

ASP.net具有验证控件

[ http://msdn.microsoft.com/ EN-US /库/ 7kh55542.aspx] [1]

还有 Mark Down Editor ,这是一个剥离html标签等的控件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top