1
我有一個頁面,2個文本框控制帳號和門牌號碼。這兩個控件都需要feild驗證器以及正則表達式。我也有一些服務器端驗證,只有當客戶端驗證通過時纔會觸發。服務器端驗證發射在一臺機器,而不是在另一臺機器
問題是,在我的本地開發VM中,如果我將文本框留空並單擊按鈕,則客戶端驗證會觸發。相同的代碼部署到我們的測試環境和測試站點上,如果我點擊按鈕將文本框留空,則服務器端以及客戶端驗證都會被觸發。
我想在測試環境中也有同樣的行爲。即服務器端只有在客戶端驗證通過時纔會觸發。
是什麼導致了這種行爲?如果我在這裏忽略了一些非常基本的概念,我對於.net的新手很抱歉。 .NET版本是4.5與Visual Studio 2012
代碼帳戶號碼:
<div id="textboxAccNumCss" runat="server">
<div class="form-group">
<asp:Label ID="lblAccontNumber" runat="server" Text="* Account Number"></asp:Label>
<asp:TextBox ID="txtAccountNumber" runat="server" class="form-control"></asp:TextBox>
</div>
<div>
<asp:RequiredFieldValidator ID="rfvAccountNumber" runat="server" ForeColor="Red" ValidationGroup="AccountValidation" ControlToValidate="txtAccountNumber" ErrorMessage="Enter Account Number"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rgxAccountNumber" runat="server" ControlToValidate="txtAccountNumber" ErrorMessage="Enter in Correct Format" ForeColor="Red" ValidationGroup="AccountValidation" ValidationExpression="\d{1,12}(-\d{1})?"></asp:RegularExpressionValidator>
</div>
</div>
規範門牌號碼
<div id="textboxHSnoCss" runat="server">
<div class="form-group">
<asp:Label ID="lblHouseNumber" runat="server" Text="*House Number"></asp:Label>
<asp:TextBox ID="txtHouseNumber" runat="server" class="form-control"></asp:TextBox>
</div>
<div>
<asp:RequiredFieldValidator ID="rfvHouseNo" ForeColor="Red" runat="server" ValidationGroup="AccountValidation" ControlToValidate="txtHouseNumber" ErrorMessage="Enter House Number"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rgxHouseNo" runat="server" ValidationGroup="AccountValidation" ControlToValidate="txtHouseNumber" ForeColor="Red" ErrorMessage="Enter in Correct Format" ValidationExpression="^[a-zA-Z0-9 #-/*]*$"></asp:RegularExpressionValidator>
</div>
</div>
代碼按鈕單擊
<asp:Button ID="Button1" runat="server" Text="Continue" ValidationGroup="AccountValidation" OnClick="btnContinue_Click" class="btn btn-primary" />
請在這裏發佈您的代碼 –
已編輯的問題 – Deepika
客戶端驗證腳本怎麼樣? –