Cách tốt nhất để cho phép hủy biểu mẫu phương thức khi xác thực cấp trường là gì?Cách tốt nhất để cho phép hủy bỏ biểu mẫu phương thức khi xác thực cấp trường là gì?
Tôi có biểu mẫu Delphi được hiển thị một cách bình thường. Trong đó có các nút TComboBoxes, TEdits, Ok và Cancel. Các trường này có phương thức OnExit là lửa để kiểm tra xem dữ liệu có hợp lệ hay không. Tuy nhiên, tôi muốn có nút Hủy bỏ nhấp chuột cho phép biểu mẫu đóng mà không xác nhận các trường. Điều gì xảy ra là khi nút Cancel được nhấp, sau đó OnExit của trường được gọi và xác nhận được chạy trước khi OnClick của nút đóng biểu mẫu. Thời gian này là không mong muốn vì nó khiến người dùng sửa dữ liệu mà họ muốn từ bỏ. Cảm ơn.
Xác thực không phải lúc nào cũng có nghĩa là một hộp thoại tin nhắn cực kỳ la hét điều gì đó về dữ liệu sai. Nó cũng có thể là ví dụ văn bản trường nhập màu đỏ, một số loại biểu tượng dấu chấm than bên cạnh trường hoặc ví dụ: một bong bóng cảnh báo bật lên từ hiện trường. Trong mọi trường hợp, nó sẽ ngăn chặn người dùng lưu bản ghi của khóa học. – TLama
TLama - bạn nói đúng, miễn là sự kiện OnExit không khóa người dùng cho đến khi dữ liệu được sửa chữa. – user1595471
Tôi thích ý tưởng tránh toàn bộ vấn đề như được đề xuất bởi @ user1595471 và sẽ đề xuất thay đổi khung kiểm tra lỗi của chúng tôi để cho phép điều này hoặc ít nhất thay đổi cách hiển thị lỗi cho người dùng theo TLama. Tuy nhiên, nếu điều này được coi là không thể chấp nhận thì tôi sẽ tìm các tùy chọn khác. Suy nghĩ đầu tiên của tôi là truyền một thông báo do người dùng xác định cho chính tôi yêu cầu trường được chọn. Tôi tin rằng điều này sẽ cho phép sự kiện của nút hủy kích hoạt và đóng biểu mẫu trước khi thông báo do người dùng xác định được xử lý. Cảm ơn tất cả các đầu vào. – user1627960