У меня есть модель с обязательным свойством под названием EmploymentStatus.Я хочу создать две радио-кнопки, используя Html.RadioButtonFor на странице Razor.Вот HTML-код, который у меня есть на данный момент:
<div class="control-group--small">
<label class="control-label align-center">Are you self-employed?</label>
<label class="control control-radio">
Self-Employed
@Html.RadioButton("BorrowerEmploymentStatus", "Self-Employed", false)
</label>
<label class="control control-radio">
Not Self-Employed
@Html.RadioButton("BorrowerEmploymentStatus", "Not Self-Employed", false)
</label>
</div>
Вот свойство моей модели:
[Required(ErrorMessage = "Please select Yes or No if you are self-employed or not.")]
[DisplayName("Are you self-employed?")]
public string EmploymentStatus { get; set; }
Проблема в том, что Html.RadioButton помещает необходимую проверку только на первое радиокнопка.Поэтому, если кто-то выберет «Не самозанятый», свойство модели будет установлено, но ModelState будет недействительным, потому что проверка была установлена на переключателе, который не был выбран.
Первый Html.RadioButton создает:
<input data-val="true" data-val-required="Please select Yes or No if you are self-employed or not." name="BorrowerEmploymentStatus" type="radio" value="Self-Employed">
И второй Html.RadioButton генерирует:
<input name="BorrowerEmploymentStatus" type="radio" value="Not Self-Employed">
Итак, мой вопрос: как у вас есть две радиокнопки для одного и того же требуемого свойства модели и поддержания действительного ModelState?