这是我的场景:
<!-- Normal Control -->
<div class="required">
<label for="address1">Address line 1</label>
<input type="text id="address1" name="address1" class="inputText" />
</div>
<!-- Same Control - but with a validation error -->
<div class="required error">
<p class="error">Address Line 1 Field is required</p>
<label for="address1">Address line 1</label>
<input type="text id="address1" name="address1" class="inputText" />
</div>
在“验证错误”html 区域中,我可以使用如下代码显示消息:
<div class="required">
<asp:RequiredFieldValidator id="address1_validate" runat="server" ControlToValidate="address1" Text='<p class="error">Address Line 1 Field is required</p>' />
<label for="address1">Address (line 1)</label>
<asp:TextBox id="address1" CssClass="inputText" CausesValidation="true" runat="server"/>
</div>
我无法做的是将附加类添加到周围的 div 标签中。
我想我可以做这样的事情:
<div class="required <%= !address1_validate.isValid ? "error" : "" %>">
这几乎不起作用。
不管怎样,我不想依赖 JavaScript 来设置这些值 - 它需要像“Web 1.0”一样工作。
有任何想法吗?
谢谢,
乔恩
-------我的解决方案------
这是对我有用的背后代码:
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
address1_validate.Validate();
if (!address1_validate.IsValid)
{
address_panel.CssClass = "required error";
}
}
}
以及前端:
<asp:Panel runat="server" id="address_panel" CssClass="required">
<asp:RequiredFieldValidator id="address1_validate" runat="server" ControlToValidate="address1" Text='<p class="error">Address Field is required</p>' />
<label for="address1">Address (line 1)</label>
<asp:TextBox id="address1" CssClass="inputText" CausesValidation="true" EnableViewState="true" runat="server" />
</asp:Panel>
谢谢您的帮助!