Xác nhận độ dài chuỗi của tôi luôn thất bại trên danh sách thả xuống với một giá trị chuỗi.MVC DropDownListFor và StringLength thuộc tính không chơi tốt với nhau
Đây là mô hình của tôi:
[Required(ErrorMessage = "Required")]
[StringLength(2, MinimumLength = 2)]
[Display(Name = "Home Address State")]
public string HomeAddressState { get; set; }
Đây là quan điểm của tôi:
@Html.DropDownListFor(model => model.HomeAddressState, new SelectList(ViewBag.States, "Value", "Text"), string.Empty)
@Html.ValidationMessageFor(model => model.HomeAddressState)
Đây là kết quả html:
<select data-val="true" data-val-length="The field Home Address State must be a string with a minimum length of 2 and a maximum length of 2." data-val-length-max="2" data-val-length-min="2" data-val-required="Required" id="HomeAddressState" name="HomeAddressState"><option value=""></option>
<option value="CA">California</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="OH">Ohio</option>
</select>
Không có vấn đề gì tùy chọn được chọn, StringLength xác thực thất bại phía máy khách. Tôi đang làm gì sai?
Tại sao bạn cần xác thực StringLength cho danh sách thả xuống? – Jesse
có lẽ vì xác thực mô hình dữ liệu của ông là (chính xác) độc lập với chế độ xem khách hàng của mình. – bhamlin
bhamlin là chính xác. Tôi sử dụng [StringLength (2, MinimumLength = 2)] để tạo chính xác trường char (2) trong cơ sở dữ liệu của tôi vì tôi đang sử dụng mã đầu tiên. Tôi không muốn đi theo cách thông thạo. –