#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»)