我正在使用正则表达式来匹配一些字符ç"·$%&/()=?
,例如 等。
我正在测试网页中的正则表达式
http://www.softlion.com/webTools/RegExpTest/default.aspx
它正在工作,但是当我在我的 MVC 模型中使用正则表达式时,它不起作用,并且总是显示错误消息。
c#中使用的指令是:
[RegularExpression(@"[ç\"·$%&/()=?]$", ErrorMessage="some message")]
ç\"·$%&/()=?]$ 是不允许的字符
我仍然有问题,我不明白为什么它不起作用
如果我写如下内容,我总是会看到错误消息:(ABCDEF
对我来说是正确的字符)或ABCDçEF=GHIJ
(不正确的)
在模型中,我将 RegularExpression 更改为自定义属性。在模型的属性中,我有:
[CaracteresNoPermitidosAttribute(ErrorMessage="test 123")] 公共字符串 RazonSocial { get; 放; }
属性类是:
public class CaracteresNoPermitidosAttribute : RegularExpressionAttribute
{
public CaracteresNoPermitidosAttribute() : base(GetRegex())
{ }
private static string GetRegex()
{
// I take the data from the table to get the disallowed characters
var lista = (List<Caracterko>) new CaracterkoProxy().ObtenerTodos();
// I transform the list to string
var str = string.Join("", from x in lista where x.Activo select x.Caracter.ToString());
return @"(?![" + str + "])$";
}
}
我用 Tim 给出的例子作为正则表达式