gpt4 book ai didi

asp.net - 在 asp.NET 正则表达式验证控件中重用表达式

转载 作者:行者123 更新时间:2023-12-02 10:27:30 25 4
gpt4 key购买 nike

我在 ascx 文件中有这个:

<asp:textbox ID="AddHourlyRate" runat="server" width="55px" />
<asp:RegularExpressionValidator ID="AddHourlyRateRegexValidator"
ErrorMessage="Please enter a valid charge rate (whole number only)"
ValidationExpression="^\$?[0-9]+(\.[0]{2})?$" ControlToValidate="AddHourlyRate"
Display="Dynamic" runat="server" />

如何在其他 asp:RegularExpressionValidator 中重用 ValidationExpression 而无需复制粘贴正则表达式?我是 ASP.NET 新手。

最佳答案

为每个正则表达式创建一个带有常量字符串的类,我使用该解决方案来解决您的确切问题。该类位于多个项目之间共享的公共(public)程序集中。而且您可能在其他一些地方使用正则表达式,而不仅仅是验证器控件。

类似这样的事情:

public class RegularExpressions
{
public const string TelephoneValidation = @"^[0-9 ]+$";
public const string IntegerValidation = @"^\d+$";
}

然后您可以从后面的代码设置验证器表达式:

validator.ValidationExpression = RegularExpressions.IntegerValidation;

或在标记​​中:

<%@ Import Namespace="RegularExpression.Class.Namespace" %>  
.
.
.
<asp:RegularExpressionValidator ID="AddHourlyRateRegexValidator"
ErrorMessage="Please enter a valid charge rate (whole number only)"
ValidationExpression="<%# RegularExpressions.IntegerValidation %>" ControlToValidate="AddHourlyRate"
Display="Dynamic" runat="server" />

当然,在导入指令中编写正确的命名空间。

关于asp.net - 在 asp.NET 正则表达式验证控件中重用表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com