Серверный тег не правильно сформирован - RegularExpressionValidator - PullRequest
0 голосов
/ 08 февраля 2012

Я пытаюсь написать RegularExpressionValidator, который проверяет, является ли запись в текстовом поле целочисленной (не содержит "." Или ",", только целочисленные значения, такие как "500")

Но ястолкнулись с этим:

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The server tag is not well formed.

Код выглядит следующим образом:

<asp:TextBox ID="Paymenttb" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID ="PaymentValidator" runat="server" ControlToValidate="Paymenttb" 
ErrorMessage="Payment must be of type Int (No "." or "," for example)." ValidationExpression="^\d+$">*</asp:RegularExpressionValidator>

В чем проблема с этим?Я искал вокруг и не могу найти причину, почему это не сформировалось хорошо.

Ответы [ 3 ]

5 голосов
/ 08 февраля 2012
ErrorMessage="Payment must be of type Int (No "." or "," for example)." 

Эта часть.У вас есть кавычки в вашем параметре в кавычках.

Вы можете обойти это, сделав внешние кавычки одинарными кавычками:

ErrorMessage='Payment must be of type Int (No "." or "," for example).'

Другое решение: Избегайте кавычек в стиле html:

ErrorMessage="Payment must be of type Int (No &quot;.&quot; or &quot;,&quot; for example)." 

"

0 голосов
/ 08 февраля 2012

Попробуйте

<asp:TextBox ID="Paymenttb" runat="server"></asp:TextBox>


<asp:RegularExpressionValidator ID ="RegularExpressionValidator1" runat="server" ControlToValidate="Paymenttb"  ToolTip="Payment must be of type Int (No '.' or ',' for example)." ValidationExpression="^\d+$">*</asp:RegularExpressionValidator> 

ИЛИ

<asp:RegularExpressionValidator ID ="PaymentValidator" runat="server" ControlToValidate="Paymenttb"  ErrorMessage="Payment must be of type Int (No '.' or ',' for example)." ValidationExpression="[0-9]"></asp:RegularExpressionValidator> 
0 голосов
/ 08 февраля 2012

Ваш атрибут ErrorMessage сформирован некорректно:

ErrorMessage="Payment must be of type Int (No "." or "," for example)."

Вам необходимо экранировать " в значении атрибута - сделайте это, удвоив их:

ErrorMessage="Payment must be of type Int (No ""."" or "","" for example)."

Или используйте одинарные кавычки для разделения значения атрибута:

ErrorMessage='Payment must be of type Int (No "." or "," for example).'
...