我为表单编写了一些asp代码。其中一个字段必须具有3种类型的验证,其中2个已启用,另外2个必须“启用”,只有从下拉列表中选择了特殊值。 我该如何完成这项任务? 我默认禁用了2个额外的验证,并且喜欢在下拉列表特定选择上重新激活。
我在这里向您展示我的代码。 ASP.NET代码:
<tr>
<td class="style1">
<asp:Label ID="LabelPiva" runat="server" Text="Partita IVA" meta:resourcekey="LabelPiva" Font-Bold="True" />
</td>
<td>
<asp:TextBox ID="pivaTextBox" runat="server" Text='<%# Bind("piva") %>'
MaxLength="50" Width="400px" />
<asp:RequiredFieldValidator ID="RequiredPiva" runat="server"
ControlToValidate="pivaTextBox"
ErrorMessage="<%$ Resources:Resource, CampoObbligatorio %>" Display="Dynamic"
CssClass="little_text" />
<asp:CustomValidator ID="PivaEsistente" runat="server"
ErrorMessage="Partita IVA esistente nel database" meta:resourcekey="PivaEsistente"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
onservervalidate="PIVAEsistente_ServerValidate"></asp:CustomValidator>
<asp:RegularExpressionValidator ID="PivaSize" runat="server"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
ErrorMessage="Controllare la lunghezza della partita iva. 11 caratteri e solo numeri."
ValidationExpression="^[0-9]{11}$" Enabled="False" ValidationGroup="soloItalia">
</asp:RegularExpressionValidator>
<asp:CustomValidator ID="PivaErrata" runat="server"
ErrorMessage="Partita IVA non corretta. Controllare le cifre." meta:resourcekey="PivaErrata"
ControlToValidate="pivaTextBox" CssClass="little_text" Display="Dynamic"
onservervalidate="ValidatePI" Enabled="False" ValidationGroup="soloItalia"></asp:CustomValidator>
</td>
</tr>
只有当dropdownlist达到“it”值时,必须触发具有id PivaErrata的CustomValidator和带有id PivaSize的RegularExpressionValidator。 这是c#中的代码隐藏,用于拦截下拉列表的值:
protected void nazioneDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
DropDownList ddlProv = (DropDownList)FormUser.FindControl("provinciaDropDownList");
if ("it".Equals(ddl.SelectedValue))
{
ddlProv.Enabled = true;
}
else
{
ddlProv.SelectedIndex = 0;
ddlProv.Enabled = false;
}
}
正如您所看到的,当在国家/地区下拉列表中触发特定值“it”时,会启用另一个下拉列表。 我也想激活验证控件。 我为这两个验证分配了一个验证组,但我不确定如何立即“启用”它们。 有帮助吗? 非常感谢你。
答案 0 :(得分:1)
您可以使用Enabled
的{{1}}属性Validation controls
或enable
。
试试这个:
disable