Включить/отключить Обязательный модуль проверки поля с страницы cs?
У меня есть две TextBox и две кнопки на моей странице.
Один скрыт, а другой отображается.
Когда я нажимаю Button1
, он сохраняет данные двух TextBox
и проверяет каждый текстовый блок на RequiredFieldValidator
.
Затем, когда я нажимаю Button2
, он просто скроется (Button2
) и покажет скрытый TextBox
.
Оба TextBox
имеют RequiredFieldValidator
, проверяющие на Button1
Событие.
Теперь моя проблема в том, что когда я просто ввожу текст в 1-й текстовый блок и нажимаю "Сохранить", нажатие кнопки проверяет требуемое поле для скрытого поля. Я просто хочу проверить текстовое поле 2 при его показе.
Как я могу избежать этого?
Ответы
Ответ 1
Ну, вы можете просто использовать свойство Enabled="false"
RequiredFieldValidator
.
Ваш markup
будет выглядеть примерно так на основе вашего Вопроса.
<asp:TextBox runat="server" ID="tb1"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="rfv1" ControlToValidate="tb1" ErrorMessage="*" ValidationGroup="gvSave">
</asp:RequiredFieldValidator>
<asp:TextBox runat="server" ID="tb2" Visible="false"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="rfv2" ControlToValidate="tb2" ErrorMessage="*" Enabled="false" ValidationGroup="gvSave">
</asp:RequiredFieldValidator>
<asp:Button runat="server" ID="btn1" Text="Save" onclick="btn1_Click" ValidationGroup="gvSave"/>
<asp:Button runat="server" ID="btn2" Text="Show" onclick="btn2_Click" />
И ваш codebehind
вот так:
protected void btn2_Click(object sender, EventArgs e)
{
tb2.Visible = true;
rfv2.Enabled = true; // Enables the second requiredfieldvalidator
}
protected void btn1_Click(object sender, EventArgs e)
{
// your Saving code here
}
Ответ 2
используйте свойство ValidationGroup="group"
для button
и назначьте группе проверки текст, на который вы хотите проверить.
Надеюсь, что это поможет.
Ответ 3
Вы можете указать CausesValidation="false"
для дополнительной кнопки, это менее подробное и потенциально запутанное, если группы проверки являются A) чрезмерными для одного поля, и B) вы должны поддерживать группы проверки при добавлении дополнительных элементов управления (мы ставим его на кнопке, валидаторе, поле и сводке проверки? Это не так много, помните стандарт, но менее практичен при редактировании.
Ответ 4
Это Aspx:
<td align="right">
Cut Type :
</td>
<td class="required">
<telerik:RadComboBox ID="cmbCutType" runat="server" MaxHeight="200px" Width="200px"
Filter="Contains" EnableLoadOnDemand="true" EmptyMessage="Select Cut Type" OnSelectedIndexChanged="cmbCutType_SelectedIndexChanged"
AutoPostBack="true">
</telerik:RadComboBox>
<asp:RequiredFieldValidator runat="server" ID="rfvCutType" Display="None" ControlToValidate="cmbCutType" InitialValue=""
ValidationGroup="Save" ErrorMessage="Cut Type is Mandatory"
ForeColor="Red"></asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="vceCutType" TargetControlID="rfvCutType"
runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
Это код:
protected void btn2_Click(object sender, EventArgs e)
{
rfvCutType.IsValid = false;
}
попробуйте это.......