Tôi có ba hộp văn bản trên biểu mẫu web asp.net, cách/tôi có thể sử dụng trình xác thực trường bắt buộc để đảm bảo rằng ít nhất một hộp văn bản có chứa văn bản không?Trình xác thực trường bắt buộc asp.net cho ít nhất một hộp văn bản chứa văn bản
Trả lời
Tôi sẽ sử dụng một CustomFieldValidator như thế này:
<asp:CustomValidator runat="server"
ID="MyCustomValidator"
ValidationGroup="YOUR_VALIDATION_GROUP_NAME"
OnServerValidate="MyCustomValidator_ServerValidate"
ErrorMessage="At least one textbox needs to be filled in." />
và sau đó trong codebehind của bạn, bạn có:
protected void MyCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
if (/* one of three textboxes has text*/)
args.IsValid = true;
else
args.IsValid = false;
}
Bạn cũng có thể thêm một thành phần Client-side để xác nhận điều này, và làm cho nó gợi cảm bằng cách mở rộng nó bằng kiểm soát ValidatorCalloutExtender của bộ công cụ AJAX.
Tôi không thích rằng điều này gây ra một postback vì vậy tôi vừa kết thúc thiết lập ClientIDMode = "tĩnh" và cứng mã hóa các giá trị trong một hàm JS. Tôi đã không thực sự quan tâm đến việc làm bất kỳ thông báo lỗi hoặc bất cứ điều gì; Tôi chỉ muốn nút không làm gì cả. Cảm ơn mã. Nó hoàn toàn làm việc, nó chỉ sử dụng một CustomValidator là sự lựa chọn sai. Đó là lỗi của tôi, không phải của bạn. – Shawn
Tôi thấy điều này sẽ không kích hoạt xác thực với một ValidationGroup được chỉ định. Khi tôi lấy nó ra, nó hoạt động như một sự quyến rũ. – techturtle
Tôi không nghĩ rằng trình điều khiển RequiredFieldValidator phù hợp với yêu cầu của bạn. Tôi sẽ đi với một CustomValidator
giao cho bất kỳ lĩnh vực của bạn và tự kiểm tra tất cả khi nó cháy.
<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 />
Đừng quên đặt ValidateEmptyText="true"
làm mặc định là bỏ qua các trường trống. đảm bảo bạn cũng tạo phương thức xác thực phía máy chủ tương tự.
- 1. WPF Xác thực hộp văn bản không bị ràng buộc
- 2. Xác thực Hộp văn bản WPF
- 3. ASP.NET: Xác thực hộp văn bản chứa số nguyên lớn hơn bằng không?
- 4. Thay đổi Màu Hộp Văn bản bằng Trình xác thực Trường Bắt buộc. Không Extender Controls Hãy
- 5. Văn bản JSON ít nhất phải chứa hai octet
- 6. ASP.NET - Thực hiện yêu cầu hộp văn bản Nếu hộp kiểm được chọn
- 7. Trường ẩn ASP.NET so với hộp văn bản vô hình
- 8. xác thực asp.net để đảm bảo rằng hộp văn bản có giá trị số nguyên
- 9. Làm cho một hộp văn bản WPF bắt buộc lửa trên mỗi nhân vật mới?
- 10. Bắt đầu một dòng mới trong hộp văn bản wpf
- 11. Bắt buộc nhập văn bản để bắt đầu bằng văn bản mặc định
- 12. ASP.NET hộp văn bản mất văn bản trên postback một phần
- 13. lxml cắt ngắn văn bản chứa ký tự 'ít hơn'
- 14. Hộp văn bản HTML, văn bản tô sáng tự động
- 15. Chèn hộp văn bản
- 16. MVC3: Cách thay đổi văn bản thông báo xác thực [Bắt buộc] chung?
- 17. Xác thực trong hộp văn bản trong WPF
- 18. Cho phép HTML trong hộp văn bản
- 19. Trình xác thực biểu thức chính quy ASP cho hộp văn bản nhiều dòng
- 20. CSS: Hộp văn bản để điền vào vùng chứa chính
- 21. Xác nhận trống Jquery cho hộp văn bản
- 22. Xác thực trong văn bản swt
- 23. Xác thực trường văn bản có ký tự đặc biệt
- 24. Sao chép nội dung của một hộp văn bản sang một hộp văn bản khác
- 25. Hộp văn bản Winform không thể hiển thị văn bản
- 26. Bật/Tắt trình xác thực trường bắt buộc từ trang cs?
- 27. Chờ đến hiện tại văn bản trong trường văn bản
- 28. Solr "Văn bản trường chưa xác định"
- 29. Hình mờ cho Hộp văn bản
- 30. Sự cố chiều rộng hộp văn bản - ASP.NET
bản sao có thể có của [asp.net validate textbox - ít nhất một hộp văn bản phải có dữ liệu trong] (http://stackoverflow.com/questions/1443545/asp-net-validate-textbox-at-least-one- text-box-must-have-data-in) –