我有一個asp.net webform上的三個文本框,我/我可以如何使用必需的字段驗證器,以確保其中至少有一個包含文本?asp.net必填字段驗證至少有一個文本框包含文本
回答
我會用這樣的CustomFieldValidator:
<asp:CustomValidator runat="server"
ID="MyCustomValidator"
ValidationGroup="YOUR_VALIDATION_GROUP_NAME"
OnServerValidate="MyCustomValidator_ServerValidate"
ErrorMessage="At least one textbox needs to be filled in." />
,然後在你的代碼隱藏您有:
protected void MyCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
if (/* one of three textboxes has text*/)
args.IsValid = true;
else
args.IsValid = false;
}
您還可以添加一個客戶端組件來此驗證,並使它通過使用AJAX工具包的ValidatorCalloutExtender控件進行擴展來實現性感。
我不喜歡這導致回發所以我剛剛結束了設置ClientIDMode =「靜態」和硬編碼JS函數中的值。我對做任何錯誤消息或任何事情都不感興趣;我只是想讓按鈕什麼都不做。感謝代碼。它完全工作,它只是使用CustomValidator是錯誤的選擇。這是我的錯,不是你的。 – Shawn 2010-10-13 04:01:31
我發現這不會觸發驗證與指定的ValidationGroup。一旦我拿出來,它就像一個魅力。 – techturtle 2013-06-07 19:09:19
我不認爲RequiredFieldValidator符合您的要求。我會去CustomValidator
分配給你的任何領域,並手動檢查他們所有的火災。
<script>
function doCustomValidate(source, args) {
args.IsValid = false;
if (document.getElementById('<% =TextBox1.ClientID %>').value.length > 0) {
args.IsValid = true;
}
if (document.getElementById('<% =TextBox2.ClientID %>').value.length > 0) {
args.IsValid = true;
}
if (document.getElementById('<% =TextBox3.ClientID %>').value.length > 0) {
args.IsValid = true;
}
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="have to fill at least 1 field"
ControlToValidate="TextBox1"
ClientValidationFunction="doCustomValidate"
ValidateEmptyText="true" ></asp:CustomValidator><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
不要忘記設置ValidateEmptyText="true"
作爲默認是跳過空字段。確保你也創建了一個類似的服務器端驗證方法。
- 1. asp.net驗證文本框 - 至少一個文本框必須有數據
- 2. 必填字段驗證器asp.net更改文本框的css
- 3. 至少有一個字段必須填寫,cakephp驗證
- 4. 從3個必填字段驗證器中選擇至少一個複選框
- 5. jquery驗證(至少有一個字段有文字)
- 6. 文本框的必填字段驗證程序
- 7. 如何驗證以便至少需要1個字段,當第二個字段有兩個必填字段時
- 8. 驗證至少一個字段是以dhtmlx格式填充
- 9. 煤層驗證問題 - 檢查至少一個填充字段
- 10. 驗證一個必填字段
- 11. asp.net多文本框驗證
- 12. asp.net驗證多文本框
- 13. asp.net-MVC文本框驗證
- 14. 驗證文本框ASP.NET
- 15. ASP.Net文本框驗證
- 16. 至少有一個文本字段不爲空
- 17. C#Asp.net必填字段驗證程序
- 18. Asp.net必填字段驗證問題
- 19. 數字驗證一個HTML文本框
- 20. 如何將必填字段驗證器提供給gridview中的文本框?
- 21. 將文本字段驗證添加到多個文本字段
- 22. jQuery的 - 如何驗證至少一個輸入文本充滿
- 23. 必填項檢查在asp.net文本框
- 24. 用於驗證字段的正則表達式:字段必須包含至少2個AlphaNumeric字符
- 25. JSF驗證必填字段
- 26. 必填字段驗證器
- 27. 必填字段驗證
- 28. 文本字段驗證
- 29. 驗證文本框是否只包含數字
- 30. 如何驗證文本框只包含數字?
可能重複的[asp.net驗證文本框 - 至少一個文本框必須有數據](http://stackoverflow.com/questions/1443545/asp-net-validate-textbox-at-least-one-文本框必須有數據輸入) – 2013-10-03 22:37:05