У меня есть скрытое поле с проверкой для него, как показано ниже
@Html.HiddenFor(m => m.Rating)
@Html.ValidationMessageFor(m => m.Rating)
Свойство Rating
имеет Range
атрибут валидатора, примененный с диапазоном 1-5.Это помещается в форму с кнопкой отправки.
Затем я получил следующий jquery, который устанавливает значение в скрытом поле для какого-либо пользовательского события (в основном пользователь нажимает на некоторые звезды, чтобы оценить)
$(".star").click(function(){
$("#Rating").val(2);
});
Теперь, если я отправлю форму без пользовательского события, которое устанавливает скрытое поле, проверка работает.Сообщения об ошибках отображаются правильно, и это работает на всей клиентской стороне.
Теперь, в этой ситуации, если я нажимаю на звездочку, которая вызывает вышеуказанный javascript и устанавливает скрытое поле, сообщение об ошибке проверки не исчезнет,Я могу отправить форму после того, как скрытая переменная имеет какое-то допустимое значение.Но я ожидаю, что проверка на стороне клиента должна работать.(Когда скрытой переменной было присвоено какое-то допустимое значение, ошибка проверки должна исчезнуть)
Сначала я думал, что проверка jquery будет вызываться для некоторых специальных событий, поэтому я попытался поднять click, change, keyup,События размытия и фокусировки, как показано ниже
$(".star").click(function(){
$("#Rating").val(2);
$("#Rating").change();
});
Но это все еще не работает.Сообщения об ошибках, однажды появившиеся, вообще не исчезают.