[英]How do i make it possible to make two fields mandatory(data validation) and in the message show that both should be filled?
[英]How to make first 2 tabs of radtabstrip mandatory to be filled out?
我有一個嵌入了telerik的ASP.NET項目。 我擁有的telerik控件是RadTabStrip。 當前的任務是:客戶希望先填寫前兩個選項卡“雇員”和“常規信息”,然后才能填寫其他選項卡。
不確定如何實施。 這是一個樣本
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" MultiPageID="RadMultiPage1"
Skin="Telerik" CausesValidation="false">
<Tabs>
<telerik:RadTab runat="server" Selected="True">
<TabTemplate>
<asp:Label ID="Label29" runat="server" Text="<%$ Resources:strings, sample_generalinformation %>" />
<img id="generalInfoErrorIndicator" src="../Images/alert-small.gif" alt="" style="display: none;" />
</TabTemplate>
</telerik:RadTab>
<telerik:RadTab runat="server">
這是標簽代碼。
<!-- EMPLOYEE INFORMATION -->
<telerik:RadPageView ID="pvEmployeeInformation" runat="server">
<div id="employeeInfoDiv" runat="server">
<table border="0" cellpadding="3" cellspacing="2">
<tr>
<td colspan="2">
<h1>
<asp:Label ID="Label34" runat="server" Text="<%$ Resources:strings, observed_employee_information %>" /></h1>
</td>
</tr>
<tr>
<td style="text-align: right;">
<asp:Label ID="Label12" runat="server" Text="<%$ Resources:strings, employee_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:EmployeeSearch ID="employeeSearch" runat="server" OnClientEmployeeSelected="employeeSelected"
ClientValidationFunction="validateEmployee" ValidationGroup="employeeInfo" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<table border="0" cellpadding="3" cellspacing="2">
<tr>
<td>
<asp:CheckBox ID="areaSampleCheckBox" runat="server" Text="<%$ Resources:strings, labels_areasample %>"
ValidationGroup="employeeInfo" />
</td>
<td>
<asp:CheckBox ID="unknownEmployeeCheckBox" runat="server" Text="<%$ Resources:strings, labels_unknownemployee %>"
ValidationGroup="employeeInfo" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="text-align: right;">
<asp:Label ID="Label13" runat="server" Text="<%$ Resources:strings, job_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:JobSearch ID="jobSearch" runat="server" ValidationGroup="employeeInfo" ClientValidationFunction="validateJob"
OnClientJobSelected="jobSelected" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:CheckBox ID="unknownJobCheckBox" runat="server" Text="<%$ Resources:strings, labels_unknownjob %>" />
</td>
</tr>
<tr>
<td style="text-align: right;">
<asp:Label ID="Label14" runat="server" Text="<%$ Resources:strings, shift_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewShiftDropDown ID="shiftDropDown" runat="server" ValidationGroup="employeeInfo" />
</td>
</tr>
<tr>
<td style="text-align: right;">
<asp:Label ID="Label15" runat="server" Text="<%$ Resources:strings, shiftlength_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewShiftLengthDropDown ID="shiftLengthDropDown" runat="server" ValidationGroup="employeeInfo" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:ValidationSummary ID="employeeInformationValidationSummary" runat="server" Font-Bold="True"
ForeColor="Red" HeaderText="<%$ Resources:strings, validationsummary_nextwizard_msg %>"
ValidationGroup="employeeInfo" />
</td>
</tr>
</table>
</div>
</telerik:RadPageView>
還有一個
<!-- GENERAL INFORMATION -->
<telerik:RadPageView ID="pvGeneralInformation" runat="server">
<div id="generalInfoDiv" runat="server">
<table border="0" cellpadding="3" cellspacing="2">
<tr>
<td colspan="4">
<h1>
<asp:Label ID="Label16" runat="server" Text="<%$ Resources:strings, general_information %>" /></h1>
</td>
</tr>
<tr valign="top">
<td style="text-align: right;">
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:strings, facility_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:FacilitySearch ID="facilitySearch" runat="server" ValidationGroup="generalInfo"
OnClientFacilitySelected="facilitySelected" OnClientFacilityCleared="facilityCleared"
AutoPostBack="true" />
</td>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label7" runat="server" Text="<%$ Resources:strings, samplelength_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewSampleLengthDropDown ID="sampleLengthDropDown" runat="server" ValidationGroup="generalInfo" />
</td>
</tr>
<tr valign="top">
<td style="text-align: right; padding-left: 10px;">
<asp:Label ID="Label2" runat="server" Text="<%$ Resources:strings, sampledate_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewDateEntry ID="sampleDate" runat="server" ValidationGroup="generalInfo"
ValidateDateNotInFuture="true" />
</td>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label8" runat="server" Text="<%$ Resources:strings, samplemethod_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:SampleMethodSearch ID="sampleMethodSearch" runat="server" ValidationGroup="generalInfo"
OnClientSampleMethodSelected="sampleMethodSelected" />
</td>
</tr>
<tr valign="top">
<td style="text-align: right;">
<asp:Label ID="Label3" runat="server" Text="<%$ Resources:strings, sampletype_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewSampleTypeDropDown ID="sampleTypeDropDown" runat="server" ValidationGroup="generalInfo"
FormDesignator="PassiveBadge" />
</td>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label69" runat="server" Text="<%$ Resources:strings, samplenumber_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<telerik:RadTextBox ID="sampleNumberTextBox" runat="server" Skin="Telerik" Width="200px" /> <asp:Image
ID="sampleNumberInfoImage" runat="server" ImageUrl="~/Images/info.png" ToolTip="<%$ Resources:strings, samplenumber_info %>" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator19" runat="server"
ControlToValidate="sampleNumberTextBox" ErrorMessage="<%$ Resources:strings, validations_fieldlength_16 %>"
ToolTip="<%$ Resources:strings, validations_fieldlength_16 %>" ValidationExpression="<%$ AppSettings:Length16ValidationExpression %>"
ValidationGroup="generalInfo" />
</td>
</tr>
<tr valign="top">
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label4" runat="server" Text="<%$ Resources:strings, occupationalhealthlimit_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:OelSearch ID="oelSearch" runat="server" ValidationGroup="generalInfo" OnClientOelSelected="oelSelected" />
</td>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label10" runat="server" Text="<%$ Resources:strings, labsamplenumber_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<telerik:RadTextBox ID="labSampleNumberTextBox" runat="server" Skin="Telerik" Width="175px" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="labSampleNumberTextBox"
ErrorMessage="<%$ Resources:strings, labsamplenumber_length %>" ToolTip="<%$ Resources:strings, labsamplenumber_length %>"
ValidationExpression="<%$ AppSettings:Length64ValidationExpression %>" ValidationGroup="generalInfo" />
</td>
</tr>
<tr valign="top">
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label67" runat="server" Text="<%$ Resources:strings, exposuregroup_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:ExposureGroupSearch ID="exposureGroupSearch" runat="server" ValidationGroup="generalInfo" />
</td>
<td colspan="2" align="center">
<table border="0" cellpadding="3" cellspacing="2">
<tr>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label11" runat="server" Text="<%$ Resources:strings, stelsample_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<asp:CheckBox ID="stelSampleCheckBox" runat="server" />
</td>
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label68" runat="server" Text="<%$ Resources:strings, labels_ceiling %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<asp:CheckBox ID="ceilingSampleCheckBox" runat="server" />
</td>
</tr>
</table>
</td>
</tr>
<tr valign="top">
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label5" runat="server" Text="<%$ Resources:strings, collectinguser_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:AdminUserSearch ID="adminUserSearch" runat="server" ValidationGroup="generalInfo" />
</td>
<td style="text-align: right;">
<asp:Label ID="Label18" runat="server" Text="<%$ Resources:strings, samplingdevice_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewSamplingDeviceDropDown ID="samplingDeviceDropDown" runat="server" />
</td>
</tr>
<tr valign="top">
<td style="text-align: right; padding-left: 10px;" valign="top">
<asp:Label ID="Label6" runat="server" Text="<%$ Resources:strings, samplestrategy_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<ihamm:NewSampleStrategyDropDown ID="sampleStrategyDropDown" runat="server" ValidationGroup="generalInfo" />
</td>
<td style="text-align: right;">
<asp:Label ID="Label19" runat="server" Text="<%$ Resources:strings, blanknumber_label %>"
Font-Bold="True" ForeColor="Navy" />
</td>
<td style="text-align: left;">
<telerik:RadTextBox ID="blankNumberTextBox" runat="server" Skin="Telerik" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="blankNumberTextBox"
ErrorMessage="<%$ Resources:strings, blanknumber_required %>" ToolTip="<%$ Resources:strings, blanknumber_required %>"
ValidationGroup="generalInfo" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="blankNumberTextBox"
ErrorMessage="<%$ Resources:strings, blanknumber_length %>" ToolTip="<%$ Resources:strings, blanknumber_length %>"
ValidationExpression="<%$ AppSettings:Length64ValidationExpression %>" ValidationGroup="generalInfo" />
</td>
</tr>
<tr valign="top">
<td colspan="4">
<asp:ValidationSummary ID="generalInformationValidationSummary" runat="server" Font-Bold="True"
ForeColor="Red" HeaderText="<%$ Resources:strings, validationsummary_nextwizard_msg %>"
ValidationGroup="generalInfo" />
</td>
</tr>
</table>
</div>
</telerik:RadPageView>
由於所有自定義引用,很難為您提供基於自己的代碼的解決方案。 但是,可以從后面的代碼直接訪問各個選項卡中的控件。 我在啟用tab2的3個RadTabStrip選項卡上進行了測試。
UPDATE
前面的示例出了點問題。 我必須使用一些Javascript來解決客戶端的問題。 我測試了此代碼,它正在工作。 基本上,第一個選項卡上有兩個文本框,並且默認情況下禁用了一個按鈕。 僅當兩個文本框中均包含文本時,該按鈕才會啟用(我知道您在選項卡上有多個控件需要填寫,因此這是一個很好的示例)。 然后單擊按鈕啟用選項卡2。當第一個和第二個選項卡上的字段/控件滿足要求時,可以重寫javascript以直接啟用選項卡。
在PAGE_LOAD中設置不應顯示或啟用的標簽
protected void Page_Load(object sender, EventArgs e)
{
//RadTabStrip1.Tabs[2].Visible = false;
RadTabStrip1.Tabs[2].Enabled = false;
}
protected void Button1_Click(object sender, EventArgs e)
{
RadTabStrip1.Tabs[2].Enabled = true;
}
這是腳本的其余代碼
<body>
<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
//function to enable button if two textboxes contains text
function SetButtonStatus(sender, target) {
var first = document.getElementById('<%=TextBox1.ClientID %>');
var second = document.getElementById('<%=TextBox2.ClientID %>');
//Condition to check whether user enters text in two textboxes or not
if ((sender.value.length >= 1 && first.value.length >= 1) && (sender.value.length >= 1 && second.value.length >= 1))
document.getElementById(target).disabled = false;
else
document.getElementById(target).disabled = true;
}
</script>
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
<div>
<telerik:RadTabStrip RenderMode="Lightweight" runat="server" ID="RadTabStrip1" MultiPageID="RadMultiPage1" SelectedIndex="0" Skin="Silk">
<Tabs>
<telerik:RadTab Text="I am Tab 0" Width="200px"></telerik:RadTab>
<telerik:RadTab Text="I am Tab 1" Width="200px"></telerik:RadTab>
<telerik:RadTab Text="I am Tab 2" Width="200px"></telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage runat="server" ID="RadMultiPage1" SelectedIndex="0" CssClass="outerMultiPage">
<telerik:RadPageView runat="server" ID="RadPageView1">
<telerik:RadTabStrip RenderMode="Lightweight" runat="server" ID="RadTabStrip2" MultiPageID="RadMultiPage2"
Orientation="VerticalLeft" Skin="Silk" Width="50px" Height="355px" SelectedIndex="0">
</telerik:RadTabStrip>
<telerik:RadMultiPage runat="server" ID="RadMultiPage2" SelectedIndex="0" CssClass="innerMultiPage">
<telerik:RadPageView runat="server" ID="PageView1">
<div>
<asp:TextBox ID="TextBox1" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
<asp:Button ID="btnButton" runat="server" Text="Button" Enabled="false" OnClick="Button1_Click" />
</div>
</telerik:RadPageView>
</telerik:RadMultiPage>
</telerik:RadPageView>
<telerik:RadPageView runat="server" ID="RadPageView2">
<div></div>
<div>
<p>Something</p>
</div>
</telerik:RadPageView>
<telerik:RadPageView runat="server" ID="RadPageView3">
<div>
<p>Again something</p>
</div>
</telerik:RadPageView>
</telerik:RadMultiPage>
</div>
</form>
</body>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.