为什么 ErrorMessage 无法正确呈现
Why does ErrorMessage not render correctly
在 FormView EditItemTemplate 中的 html-table(td)、ASP-Panel 中、AJAX 面板中、Content-page 和 Master-Page 中使用 ASP-TextBox,
使用保存按钮验证文本框时,ValidationSummary 显示错误的错误消息。
ValSummary 显示“输入的里程数小于“<%= txtMileageRangeValidator.MinimumValue %>”英里数”。
并且不是“输入的里程少于 88123 英里”
文本框和验证器的标记如下:
<asp:TextBox ID="txtMileage" runat="server" Text='<%# Bind("Mileage") %>'
CssClass="ucIsRequired"
MaxLength="6"
AutoPostBack="True" OnTextChanged="txtMileage_TextChanged"
/>
<asp:RangeValidator ID="txtMileageRangeValidator" runat="server"
ControlToValidate="txtMileage"
Enabled="true"
Display="None"
MinimumValue='<%# Eval("aMileagePrev", "{0:D}")%>'
MaximumValue="999999"
SetFocusOnError="false"
Type="Integer"
ValidationGroup="valgrpDetails"
ErrorMessage="Mileage entered is less than '<%= txtMileageRangeValidator.MinimumValue %>' miles"
/>
但是,当错误出现在 ValidationSummary 中时,它与上面所列的完全一样——它不会将 MinimumValue 替换到错误文本中。
我做错了什么?
谢谢
除非禁用,RangeValidators 在客户端验证,即没有回发,因此服务器端嵌入式脚本不会被重新呈现
如果您要重置文本框事件的最小值,那么您可以像设置 MinimumValue 一样设置 ErrororMessage,但使用修改后的字符串格式
ErrorMessage='<%# Eval("aMileagePrev", "Mileage entered is less than {0:D} miles") %>'
但现在我正在仔细阅读其他内容。范围验证旨在检查 min/max 值之间的值。您假设该值永远不会大于 maxValue。如果情况总是如此,那么您最好使用 CompareValidator
并将 Type
设置为 Integer
并将 Operator
设置为 LessThan
在 FormView EditItemTemplate 中的 html-table(td)、ASP-Panel 中、AJAX 面板中、Content-page 和 Master-Page 中使用 ASP-TextBox, 使用保存按钮验证文本框时,ValidationSummary 显示错误的错误消息。
ValSummary 显示“输入的里程数小于“<%= txtMileageRangeValidator.MinimumValue %>”英里数”。
并且不是“输入的里程少于 88123 英里”
文本框和验证器的标记如下:
<asp:TextBox ID="txtMileage" runat="server" Text='<%# Bind("Mileage") %>'
CssClass="ucIsRequired"
MaxLength="6"
AutoPostBack="True" OnTextChanged="txtMileage_TextChanged"
/>
<asp:RangeValidator ID="txtMileageRangeValidator" runat="server"
ControlToValidate="txtMileage"
Enabled="true"
Display="None"
MinimumValue='<%# Eval("aMileagePrev", "{0:D}")%>'
MaximumValue="999999"
SetFocusOnError="false"
Type="Integer"
ValidationGroup="valgrpDetails"
ErrorMessage="Mileage entered is less than '<%= txtMileageRangeValidator.MinimumValue %>' miles"
/>
但是,当错误出现在 ValidationSummary 中时,它与上面所列的完全一样——它不会将 MinimumValue 替换到错误文本中。
我做错了什么? 谢谢
除非禁用,RangeValidators 在客户端验证,即没有回发,因此服务器端嵌入式脚本不会被重新呈现
如果您要重置文本框事件的最小值,那么您可以像设置 MinimumValue 一样设置 ErrororMessage,但使用修改后的字符串格式
ErrorMessage='<%# Eval("aMileagePrev", "Mileage entered is less than {0:D} miles") %>'
但现在我正在仔细阅读其他内容。范围验证旨在检查 min/max 值之间的值。您假设该值永远不会大于 maxValue。如果情况总是如此,那么您最好使用 CompareValidator
并将 Type
设置为 Integer
并将 Operator
设置为 LessThan