Thử bool có thể vô hiệu hóa.
public bool? RememberMe { get; set; }
Với loại tham chiếu có một số quy tắc xác thực mặc định được áp dụng. Nếu một kiểu tham chiếu không phải là nullable, nó sẽ trở thành bắt buộc theo mặc định. Hình minh họa tốt nhất của việc này là nếu bạn sử dụng một textbox để hiển thị một số tài sản (không phải cái gì bạn sẽ làm gì trong trang web của bạn, nhưng tốt cho mục đích thử nghiệm):
mẫu:
public bool? MyBool { get; set; }
public int MyInt { get; set; }
Xem:
@Html.TextBoxFor(p => p.MyBool)
@Html.TextBoxFor(p => p.MyInt)
Bạn có thể nhìn thấy từ một nguồn xem những gì xảy ra trên trang:
<input id="MyNullBool" name="MyNullBool" type="text" value="">
<input data-val="true" data-val-required="The MyBool field is required." id="MyBool" name="MyBool" type="text" value="False">
<input data-val="true" data-val-number="The field MyInt must be a number." data-val-required="The MyInt field is required." id="MyInt" name="MyInt" type="text" value="0">
các nul lable bool không có thuộc tính xác nhận, trong khi bool có một thẻ data-val-required
. Thẻ int có một thẻ data-val-required
và một số data-val-number
thuộc tính
Tất nhiên, trên hộp kiểm này chỉ có thể kiểm tra (đúng) hoặc không được chọn (sai) nên thẻ bắt buộc không được sử dụng nhiều.
Nguồn
2013-02-21 00:38:27
Nó không liên quan đến lỗi này trong một số trình duyệt cũ hơn phải không? https://github.com/jzaefferer/jquery-validation/issues/598 –
Bạn có thể sử dụng 'bool? 'cho thuộc tính hoặc sử dụng đầu vào bị ẩn () –