在XSLT中使用时ValidationExpression出错

时间:2011-08-23 21:34:57

标签: asp.net xslt

我的XSLT显示下面的行有错误,但我无法弄清楚

<asp:RegularExpressionValidator ID="validatorEmail{@id}" runat="server" Display="Dynamic" ControlToValidate="{@id}" ErrorMessage="username@domain.com" 

ValidationExpression="^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$" />

错误讯息:

Expected token '}', found ','.  ...+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2 -->,<-- }))@((([0-1]?[0-9]{1,2}|25[0-5]|... Forms.xslt

这有什么问题?

1 个答案:

答案 0 :(得分:2)

在XSLT中{}用于在属性值模板中注入动态值。您需要将它们加倍以在正则表达式中转义它们:

ValidationExpression="^(([\w-]+\.)+[\w-]+|([a-zA-Z]{{1}}|[\w-]{{2,}}))..."