2011-02-24 75 views
1

我有一个将我们的帮助台系统与TFS桥接的应用程序(从帮助台到TFS的一种方式)。当我在TFS中创建工作项目时,在某些情况下,我收到“InvalidCharacters”验证错误。“纯文本”字段的WorkItem验证

我正在使用的字段是标准“描述”字段,它在工作项定义中定义为“纯文本”。

这只发生在一个记录上,所以我确定它是数据,但我无法弄清楚什么字符被认为是无效的。有什么指导什么会触发“纯文本”字段上的InvalidCharacters验证?

回答

2

看起来这个字段无法显示扩展的ASCII字符。在我试图保存的字符串中有一个带有重音符号(à)的字符。

- 编辑 -

这实际上变得更加沮丧。当我做ToCharArray()时,字符表示是“à”,但是当我最终找到了它正在轰炸的字符串中的点时,实际字符是单字符省略号(...)。这可能是由某人从Word复制并粘贴到我们的帮助台系统中进行评论引起的。

我的最终解决方案是通过char数组旋转,用其他东西(在我的例子中是一个问号)替换int值大于127的任何字符。

0

如果字符串字段包含除换行符,回车符和制表符以外的控制字符,或者它包含不匹配的代理字符,则该字段无效。长文本字段(如明文)接受除了不匹配的代理对之外的所有内容。确保你的复制/粘贴时产生的Unicode被粘贴在

您可以使用正则表达式功能的所有空白向下压缩到一个“”字,像这样的:

Regex.Replace(text, @"\s+", " "); 

虽然实际比你在技术上需要的更多,因为它取出换行符,回车符和标签。

希望这会有所帮助!