WPF中的Regex数据注释
本文关键字:注释 数据 Regex 中的 WPF | 更新日期: 2023-09-27 18:01:49
我不明白为什么这个正则表达式不能按我想要的方式工作。我希望它允许这样的东西:"Test123#%&*- Test"
[RegularExpression("[^a-zA-Z0-9/#%&*''- ]")]
MSDN文档只给出了一个例子…
[RegularExpression(@"^[a-zA-Z''-''s]{1,40}$")]
我不想限制输入到任何特定的字符长度,这是MSDN的例子。我在。net中使用了Regex
对象的正则表达式模式,它工作得很好。为什么DataAnnotations
的工作方式不同?
我认为您使用否定类来查找不允许的字符的方式是错误的。我找不到文档来证明这一点,但在我看来这似乎是合乎逻辑的。
我认为你需要给出一个匹配允许输入的模式。
试
[RegularExpression("^[a-zA-Z0-9/#%&*''- ]*$")]
*
量词使其重复字符类0次或更多次。这也允许空字符串!如果您不想要空字符串,请使用量词+
,那将是一个或多个。
*
是{0,}
的快捷方式。如果省略第二个数字,则表示没有最大匹配
+
是{1,}
的快捷方式
Regex DataAnnotations的编写方式是查找有效的内容,而不是查找无效的内容。
MSDN联系
我会掉你的胡萝卜(^)。这将允许您提供的每个角色进行验证。如果出现任何错误,您将生成错误消息。