В приложении MVC < /p>
, где поле является нулевым типом Bool и представлено в виде радиобаттона < /p>
Как можно применяться на стороне клиента путем настройки атрибута данных < /p>
используется проверка на стороне клиента (jquery ненавязчивая) < /p>
В этом стоит, у меня есть шаблонная нулевые лодки, которые будут представлены пользователю в качестве радиопроизводительных кнопок. Есть 3 радиопроизводства, одна для True, одна для false и одна для NULL. Опция TRUE или FALSE (NULL не является действительной опцией, NULL просто означает, что пользователь еще не сделал выбор - TRUE или FALS попробовал следующее, что я нашел как Ответ на тот же вопрос в другом месте < /p>
[Range(typeof(bool), "false", "true", ErrorMessage = "You must make a selection")]
< /code>
Но это никогда не проходит проверку < /p>
Я также просто попробовал < /p>
[Required]
< /code>
Но это не заставляет пользователя сделать выбор < /p>
Дополнительная информация:-< /p> < Br />
Проблема, кажется, существует, когда Bool? Представлено ли Radiobuttons.
При использовании шаблона по умолчанию MVC для Bool? (который представляет собой выпадающий список с 3 параметрами, «не установлен», «true», «false», затем валидация работает, как и ожидалось. Радиопроизводительные кнопки функциональны и сохраняют правильное состояние в базе данных, но валидация не работает. P> модель :-< /p>
public class SomeModel
{
[Required]
public string Name { get; set; }
[Required]
public bool? SomeBool { get; set; }
}
< /code>
Просмотр:-< /p>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
@Html.LabelFor(model => model.SomeBool)
@Html.EditorFor(model => model.SomeBool)
@Html.ValidationMessageFor(model => model.SomeBool)
}
< /code>
Приведенное выше работает, как и ожидалось без шаблона редактора для Bool, но не для радиопроизводительных кнопок. < /p>
Шаблон радиопроизводства:-< /p>
@model bool?
@{
Dictionary yesAttrs = new Dictionary();
Dictionary noAttrs = new Dictionary();
Dictionary nullAttrs = new Dictionary();
yesAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "Yes");
noAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "No");
nullAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "NA");
if (Model.HasValue && Model.Value)
{
yesAttrs.Add("checked", "checked");
}
else if (Model.HasValue && !Model.Value)
{
noAttrs.Add("checked", "checked");
}
else
{
nullAttrs.Add("checked", "checked");
}
}
@Html.RadioButtonFor(x => x, "true", yesAttrs) Yes
@Html.RadioButtonFor(x => x, "false", noAttrs) No
@Html.RadioButtonFor(x => x, "null", nullAttrs) N/A
< /code>
Проблема будет связана с атрибутами данных проверки на стороне клиента, не создаваемых для радиопроизводительных кнопок < /p>
Подробнее здесь: https://stackoverflow.com/questions/387 ... diobuttons
Validation MVC - Nullable Bool - Force True / False Selection с помощью радиобуттонов ⇐ C#
Место общения программистов C#
1739933519
Anonymous
В приложении MVC < /p>
, где поле является нулевым типом Bool и представлено в виде радиобаттона < /p>
Как можно применяться на стороне клиента путем настройки атрибута данных < /p>
используется проверка на стороне клиента (jquery ненавязчивая) < /p>
В этом стоит, у меня есть шаблонная нулевые лодки, которые будут представлены пользователю в качестве радиопроизводительных кнопок. Есть 3 радиопроизводства, одна для True, одна для false и одна для NULL. Опция TRUE или FALSE (NULL не является действительной опцией, NULL просто означает, что пользователь еще не сделал выбор - TRUE или FALS попробовал следующее, что я нашел как Ответ на тот же вопрос в другом месте < /p>
[Range(typeof(bool), "false", "true", ErrorMessage = "You must make a selection")]
< /code>
Но это никогда не проходит проверку < /p>
Я также просто попробовал < /p>
[Required]
< /code>
Но это не заставляет пользователя сделать выбор < /p>
Дополнительная информация:-< /p> < Br />
Проблема, кажется, существует, когда Bool? Представлено ли Radiobuttons.
При использовании шаблона по умолчанию MVC для Bool? (который представляет собой выпадающий список с 3 параметрами, «не установлен», «true», «false», затем валидация работает, как и ожидалось. Радиопроизводительные кнопки функциональны и сохраняют правильное состояние в базе данных, но валидация не работает. P> модель :-< /p>
public class SomeModel
{
[Required]
public string Name { get; set; }
[Required]
public bool? SomeBool { get; set; }
}
< /code>
Просмотр:-< /p>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
@Html.LabelFor(model => model.SomeBool)
@Html.EditorFor(model => model.SomeBool)
@Html.ValidationMessageFor(model => model.SomeBool)
}
< /code>
Приведенное выше работает, как и ожидалось без шаблона редактора для Bool, но не для радиопроизводительных кнопок. < /p>
Шаблон радиопроизводства:-< /p>
@model bool?
@{
Dictionary yesAttrs = new Dictionary();
Dictionary noAttrs = new Dictionary();
Dictionary nullAttrs = new Dictionary();
yesAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "Yes");
noAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "No");
nullAttrs.Add("id", ViewData.TemplateInfo.GetFullHtmlFieldId("") + "NA");
if (Model.HasValue && Model.Value)
{
yesAttrs.Add("checked", "checked");
}
else if (Model.HasValue && !Model.Value)
{
noAttrs.Add("checked", "checked");
}
else
{
nullAttrs.Add("checked", "checked");
}
}
@Html.RadioButtonFor(x => x, "true", yesAttrs) Yes
@Html.RadioButtonFor(x => x, "false", noAttrs) No
@Html.RadioButtonFor(x => x, "null", nullAttrs) N/A
< /code>
Проблема будет связана с атрибутами данных проверки на стороне клиента, не создаваемых для радиопроизводительных кнопок < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/38763153/mvc-validation-nullable-bool-force-true-false-selection-by-radiobuttons[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия