Tôi đã có một lĩnh vực tiềm ẩn với một xác nhận cho nó như sauKhách hàng xác nhận bên không làm việc cho lĩnh vực ẩn trong asp.net MVC 3
@Html.HiddenFor(m => m.Rating)
@Html.ValidationMessageFor(m => m.Rating)
Thuộc tính Rating
đã Range
validator thuộc tính áp dụng với phạm vi là 1- 5. Điều này được đặt bên trong một biểu mẫu với một nút gửi.
Tôi đã sau đó đã sau jquery mà bộ giá trị trong lĩnh vực ẩn trên một số sự kiện sử dụng (Về cơ bản người dùng nhấp vào một số ngôi sao để đánh giá)
$(".star").click(function(){
$("#Rating").val(2);
});
Bây giờ nếu tôi gửi biểu mẫu mà không có sự kiện người dùng đặt trường ẩn, xác thực hoạt động. Các thông báo lỗi được hiển thị đúng và nó hoạt động tất cả các phía khách hàng.
Hiện tại, trong trường hợp này, nếu tôi nhấp vào các ngôi sao, điều này sẽ gọi javascript ở trên là bộ trường ẩn, thông báo lỗi xác thực sẽ không biến mất. Tôi có thể gửi biểu mẫu sau khi biến ẩn có một số giá trị hợp lệ. Nhưng tôi hy vọng rằng xác nhận phía khách hàng sẽ hoạt động. (Khi biến ẩn đã được thiết lập với một số giá trị hợp lệ, lỗi xác thực sẽ biến mất)
Ban đầu tôi nghĩ rằng xác nhận jquery sẽ được gọi trên một số sự kiện đặc biệt vì vậy tôi đã thử tăng nhấp chuột, thay đổi, khóa, làm mờ và các sự kiện tập trung vào bản thân mình như bên dưới
$(".star").click(function(){
$("#Rating").val(2);
$("#Rating").change();
});
Nhưng điều này vẫn không hoạt động. Các thông báo lỗi một lần xuất hiện, không biến mất chút nào.
Tôi không nghĩ rằng bạn cần dạng() gọi vào cuối tuyên bố trên. –
'form()' là cần thiết để có các thông báo lỗi trên biểu mẫu được cập nhật. Vì câu hỏi là về việc cập nhật ngay lập tức các thông báo lỗi, nó là cần thiết. – counsellorben
@counsellorben Điều đó đã làm việc như một sự quyến rũ – Suhas