代码隐藏中的验证

本文关键字:验证 隐藏 代码 | 更新日期: 2023-09-27 18:32:13

在我的 ASP.net 应用程序中,我引用以下dll文件在我的业务对象类文件中进行验证。

using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;

我正在验证这样的属性

[StringLengthValidator(1, 50, MessageTemplateResourceName = "INVALID_NAME", 
 MessageTemplateResourceType = typeof(ValidatioinErrors))]
[RegexValidator("[A-Za-z]*", MessageTemplateResourceName = "INVALID_NAME",
 MessageTemplateResourceType = typeof(ValidatioinErrors))]
public string Name
{
  get { return name; }
  set { name = value; }
}

现在我将 Name 的值传递为"test123",当我使用 IsValid() 函数检查此验证时,例如

public bool IsValid()
{
   return Validation.Validate<myclassname>(this).IsValid;
}

当我在将名称的值传递为"test123"后检查这个 IsValid() 函数时,它接受这个给定名称,而不是通过拒绝它返回无效名称。

我哪里犯了错误? 谁能在这里帮助我....

代码隐藏中的验证

尝试使用 ^[A-Za-z]*$ 的正则表达式。

添加的"^"和"$"意味着正则表达式应该匹配整个字符串,而不仅仅是其中的一部分。

asp.net 正则表达式验证器不需要这些,但这是一个例外。常规正则表达式需要这些锚点仅匹配完整输入,此属性显然也是如此。