Мое приложение в основном является генератором опроса/тестирования, который может выводить широкий спектр типов вопросов в зависимости от того, что необходимо. У меня есть модель для каждого типа вопросов. Однако моя проверка не работает (на стороне клиента все, что я прошу, я могу сделать серверную сторону).Проверка ASP.NET MVC не работает при использовании литья моделей
Некоторые из моего кода:
@model IEnumerable<fsForms.Models.abstractQuestion>
@using(Html.BeginForm())
{
@Html.ValidationSummary(true)
foreach(var item in Model) {
switch(item.questionType){
case 1:
{
if(item.isRequired)
{
var txtReq = (fsForms.Models.FreeTextReq)item;
@Html.EditorFor(model=> txtReq.textboxVal);
@Html.ValidatorMessageFor(model=>txtReq.textboxVal);
}
}
}
}
}
Моя модель просто:
public class FreeTextReq:abstractQuestion
{
[Required(ErrorMessage="This field is required")]
public String textboxVal;
}
Спасибо за любой вклад.
PS: Результирующий HTML выглядит следующим образом:
<body>
<form action="blahblahblah" method="post">
<input class="text-box single-line" id="txtReq_textboxVal" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="txtReq.textboxVal" data-valmsg-replace="true"></span>
<input type="submit" value="submit info">
</form>
////////Here follow all my scripts (including jQuery validation scripts) ////////////
</body>
Не могли бы вы опубликовать сгенерированный HTML? – Fals
Я отредактировал вопрос, чтобы показать результат. – RealityDysfunction
Посмотрите data-valmsg-for = "txtReq.textboxVal" и id = "txtReq_textboxVal". Они разные, они должны соответствовать проверке работы. Попробуйте создать каждый фил без html-помощника или заставить атрибут ID быть передатчиком, передающим htmlAttributes помощнику! – Fals