У меня странная ситуация.Я работаю с MVC5. У меня включена проверка на стороне клиента.
В моей форме есть выпадающий список с надписью "пожалуйста, выберите ..." в качестве первого элемента, значение этого пункта "пожалуйста, выберите ..."автоматически устанавливается на значение -1.
Теперь, когда я нажимаю кнопку «Сохранить» в моей форме, не выбирая ни одного элемента в раскрывающемся списке, проверка на стороне клиента не произойдет.Форма будет отправлена, а затем Modelstate.Valid = false.Представление будет снова отображено с ошибкой проверки в раскрывающемся списке: «Значение« -1 »недопустимо для владельца».
1) Я не хочу, чтобы сообщение было «Значение» -1 'недействительно для владельца ".Так я могу как-то настроить это сообщение?2) Как я могу убедиться, что проверка на стороне клиента происходит и предотвращает обратную передачу
Когда я выбираю первый вариант «Пожалуйста, выберите…» в раскрывающемся списке и щелкаю где-то еще на экране, проверка на стороне клиента работает.Я вижу свое сообщение об ошибке, но я все еще могу нажать кнопку сохранения и отправить форму.
У кого-нибудь есть подсказка?Я не могу найти ничего подобного в Интернете
У меня есть Viewmodel со следующими свойствами:
[Required(ErrorMessage = "Owner is required.")]
// Any guid but not an empty guid.
[RegularExpression(@"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$", ErrorMessage = "Owner is required.")]
public Guid OwnerId { get; set; }
public SelectList Owners { get; set; }
В моей Razor у меня есть:
@Html.DropDownListFor(model => model.OwnerId, Model.Owners, "Select a value...", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.OwnerId)