我經常從學校的「講師」得到不正確的信息。ASP.NET客戶端與服務器端驗證
對於ASP.NET Web應用程序,像CompareValidator,RangeValidator,RequiredFieldValidator等工具箱中的驗證器是那些被認爲是服務器端驗證的驗證器?
因爲我們還添加了一個jQuery NuGet包,它在用戶選項卡時提供實時驗證,就像用戶在需要輸入數字時鍵入字母一樣。
對於C#中的WPF,我創建一個Validator類或使用一個庫,並通過靜態方法檢查驗證。我應該在ASP.NET中這樣做嗎?還是RequiredFieldValidators等足夠用於服務器端驗證?
下面是一個例子:
<div class="form-group">
<label class="control-label col-sm-4">Length:</label>
<div class="col-sm-4">
<asp:TextBox ID="txtLength" runat="server" CssClass="form-control" MaxLength="15"></asp:TextBox>
</div>
<div class="col-sm-4">
<asp:RequiredFieldValidator ID="rfvLength" runat="server" ErrorMessage="Length is required"
ControlToValidate="txtLength" CssClass="error" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rngLength" runat="server" ErrorMessage="Must be between .01 and 10,000"
MaximumValue="10000" MinimumValue=".01" ControlToValidate="txtLength" CssClass="error" Display="Dynamic"
SetFocusOnError="True" Type="Double"></asp:RangeValidator>
</div>
</div>
感謝
******編輯*****
傢伙你給不清晰或不完整的答案,就像我的「導師「確實。
是或否請,這是ASP.NET中的服務器端驗證?
<div class="form-group">
<label class="control-label col-sm-4">Length:</label>
<div class="col-sm-4">
<asp:TextBox ID="txtLength" runat="server" CssClass="form-control" MaxLength="15"></asp:TextBox>
</div>
<div class="col-sm-4">
<asp:RequiredFieldValidator ID="rfvLength" runat="server" ErrorMessage="Length is required"
ControlToValidate="txtLength" CssClass="error" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rngLength" runat="server" ErrorMessage="Must be between .01 and 10,000"
MaximumValue="10000" MinimumValue=".01" ControlToValidate="txtLength" CssClass="error" Display="Dynamic"
SetFocusOnError="True" Type="Double"></asp:RangeValidator>
</div>
</div>
,然後我也補充一下:
protected void btnCalculate_Click(object sender, EventArgs e)
{
if (IsValid)
{
double length = Convert.ToDouble(txtLength.Text);
double width = Convert.ToDouble(txtWidth.Text);
Rectangle r = new Rectangle(length, width);
txtArea.Text = r.Area().ToString("f");
txtPerimeter.Text = r.Perimeter().ToString("f");
txtDiagonal.Text = r.Diagonal().ToString("f");
}
}
這是正確的,因爲在ASP.NET服務器端驗證和我在正確使用if(IsValid的)一部分?
我不這麼認爲,所以你需要做到WPF的方式。就網頁而言,已經存在的驗證器就足夠了。 – Manish
因此,RequiredFieldValidator,RangeValidator等被認爲是ASP.NET的服務器端驗證?我已經知道如何使用JavaScript或jQuery在HTML頁面上進行客戶端驗證,但與WPF或Windows窗體驗證相比,ASP.NET驗證看起來太簡單了。 – Programmer7
是的,你可以說它是這樣工作的。答:是的,它比WPF容易,並且jQuery和HTML5驗證更容易實現,並提供廣泛的驗證... – Manish