2011-08-23 14 views
1

我的XSLT表明,在低於行錯誤,但我無法弄清楚錯誤ValidationExpression在XSLT使用時

<asp:RegularExpressionValidator ID="validatorEmail{@id}" runat="server" Display="Dynamic" ControlToValidate="{@id}" ErrorMessage="[email protected]" 

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 

什麼是錯的這個?

+0

看起來你需要逃避大括號。 – ChaosPandion

回答

2

在XSLT {}中用於在屬性值模板中注入動態值。你需要將它們加倍以避免它們在你的正則表達式中出現:

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

+1爲一個很好的答案! –

+0

非常感謝:) – kurra