我有大約6或7個文本框需要驗證,以確保它們不是空的服務器端代碼。所以我通常這樣做,檢查每個文本框1,以確保它們不是空的。有沒有其他有效的方法來做到這一點?我已經搜索過,並發現將所有文本框添加到列表中並使用每個文本框是一種更好的方法。有沒有其他方法可以實現這一目標?感謝名單很多提前:)高效/簡單的方法來驗證空文本框?
回答
只是檢查它們各自單獨地:
if (string.IsNullOrEmpty(this.NameTextBox.Text) ||
string.IsNullOrEmpty(this.AddressLine1TextBox.Text) ||
// etc...
)
{
// Handle me
}
或者可能:
void CheckTextBox(TextBox textBox)
{
if (textBox == null)
{
throw new ArgumentNullException("textBox");
}
if (string.IsNullOrEmpty(textBox.Text))
{
// Handle me
}
}
void Validate()
{
CheckTextBox(this.FirstNameTextBox);
CheckTextBox(this.AddressLine1TextBox);
CheckTextBox(this.AddressLine2TextBox);
}
7文本框確實不是很多 - 明確檢查每一個保持其簡單並確保其他人閱讀你的代碼知道發生了什麼,而混淆集合則增加了另一層間接尋址,並使調試稍微簡單一些。
保持簡單!
是的,我同意7個文本框沒有那麼多,按照你的方式保持代碼簡單。但是如果有15到20個文本框,這種方式有點笨重......但是在一頁中15-20個文本框又是一個糟糕的設計:S'編輯:'你的第二個解決方案看起來非常好:) – 2010-10-01 04:38:10
我同意Kragen--由於所有的檢查,你的代碼可能看起來很「大」,但你確實正在編寫程序爲了驗證這些東西而需要做的事情,所以任何一種巧妙的方法都會減少你寫的代碼行數實際上不會加快事情的速度。
問題雖然:你必須驗證服務器上的文本框?如果您只驗證文本框不是空的,我建議使用客戶端驗證。這將節省您的服務器時間和帶寬,因爲您的用戶將不被允許將表單提交到您的服務器,直到他們的瀏覽器驗證它們不是空的。
您仍然希望在服務器端進行驗證(以防他們的瀏覽器未啓用JavaScript或嘗試某種惡意行爲)。
客戶端驗證的本機ASP.NET方式涉及向ASPX添加ASP.NET驗證標籤。其實很簡單。下面是MSDN上的例子: http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic3
我已經簡化他們的代碼有點滿足您的要求:
<form runat="server">
<asp:TextBox id="TextBox1" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Name is required!" ControlToValidate="TextBox1" />
<asp:TextBox id="TextBox2" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="Address is required!" ControlToValidate="TextBox2" />
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</form>
是!我唯一關心的是有惡意的用戶。除了我的RequiredFieldValidators完美無缺地完成他們的工作:) – 2010-10-01 04:56:08
- 1. 方法來驗證使用jQuery的所有文本框驗證
- 2. 簡單的方法驗證
- 3. 驗證XML文件的簡單方法
- 4. HTML5驗證 - 簡單的方法來實時驗證?
- 5. 驗證空文本框
- 6. 簡單的方法來截斷文本
- 7. 有效的方法來驗證XML?
- 8. 簡單的方法來顯示圖像旁邊的文本框?
- 9. 文本框驗證表單
- 10. 驗證有效BPF過濾器的簡單方法
- 11. 更簡單的方法來驗證$ _GET ID的
- 12. 高效驗證
- 13. 更簡單的方法來驗證時間戳
- 14. 簡單的方法來驗證一個IEnumerable元素
- 15. RequiredFieldValidator來驗證禁用的文本框
- 16. C#WPF非常簡單的文本框驗證
- 17. Android - 更高效的方法來讀取大文本文件
- 18. 最簡單的方法來驗證和讀取.net中的xml文件?
- 19. 有沒有簡單的方法來驗證/比較RPM文件的安裝?
- 20. 嘗試捕獲驗證空文本框
- 21. 驗證文本框(沒有空間)
- 22. 正則表達式驗證器不驗證空的文本框
- 23. 條件驗證的單個文本框
- 24. 有沒有簡單的方法來驗證複製文章是否正確?
- 25. 驗證組和有效驗證多個文本框asp c#
- 26. 驗證在JavaScript:空的文本框,當單擊該按鈕
- 27. 使用python驗證兩個CSV文件的最簡單方法
- 28. 驗證文本框
- 29. 文本框驗證
- 30. 文本框驗證
爲什麼你不能與RequiredFieldValidator的嘗試 – anishMarokey 2010-10-01 04:38:22
RequiredFieldValidators使用,以及在客戶端代碼。這是JavaScript可以很容易被禁用,我也選擇做服務器端驗證。 – 2010-10-01 04:40:44