Как определить допустимость поля формы из файла представления?

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Я использую проверку на стороне клиента MVC. Я генерирую поля формы в представлении следующим образом:

          <% using (Html.BeginForm(new { useCIM = false }))
           {%>           
        <%: Html.ValidationMessage("auth")%>
        <%: Html.TextBoxFor(model => model.Country)%>
        <%: Html.TextBoxFor(model => model.Zip)%>
  

Я могу получить доступ к конкретным сообщениям проверки в представлении следующим образом:

             <%: Html.ValidationMessageFor(model => model.Country)%>
            <%: Html.ValidationMessageFor(model => model.Zip)%>
  

Как я могу просто определить действительность определенного поля?

Обновить***

Когда я пытаюсь это сделать…

<% if (ModelState[«Страна»].Ошибки > 0)

Я получаю сообщение об ошибке, что «System.Web.Mvc.ModelState» является «типом», но используется как «переменная»»

Комментарии:

1. вы пробовали ModelState[«Country»].Ошибки

2. Когда я пытаюсь использовать подобное, например: code <% if (ModelState[«Country»].Errors> 0) { %>

3. Могу ли я спросить, почему вам нужно знать, какое поле недопустимо в представлении (страница .aspx)? Если вы хотите что-то изменить на стороне клиента, лучше используйте класс CSS, ASP.NET MVC изменяет CSS-класс всех полей с недопустимыми данными.

4. Эммануэль, я могу просто стилизовать ввод текста с помощью этого класса, но есть и другие элементы, которые необходимо изменить в зависимости от того, какие поля являются недопустимыми.

5. На странице .aspx используйте <% ViewData.ModelState["Country"].Errors.Count > 0 %>

Ответ №1:

Использовать

 ModelState["Fieldname"].Errors.Count > 0;
  

На странице .aspx используйте

 <% if(ViewData.ModelState["Fieldname"].Errors.Count > 0)%>
  

На стороне клиента проверьте наличие поля с классом CSS

 "input-validation-error"
  

Ответ №2:

В дополнение к тому, что сказал Эммануэль N, если вы просто хотите узнать в представлении, является ли поле допустимым, вы можете использовать это:

ViewData.ModelState.IsValidField(«Fieldname»)