Моей модели: -MVC Обязательной проверка не работаешь
public class instrument
{
[Display(Name = "Id")]
public string Id { get; set; }
[Display(Name = "Instrument Id")]
public String InstrumentId
{
get;
set;
}
[Display(Name = "Manufacturer"),Required(AllowEmptyStrings=false)]
public List<string> manufacturer
{
get;
set;
}
.....
.....
}
мой взгляд имеет эти
<div class="form-group">
@Html.LabelFor(model => model.manufacturer[0], htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.manufacturer[0], new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.manufacturer[0], "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.manufacturer[1], htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.manufacturer[1], new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.manufacturer[1], "", new { @class = "text-danger" })
</div>
</div>
Когда я отправить форму на мой контроллер (с вне положить любое значение в обеих этих текстовых полей) Список содержит две пустые строки. Я хочу проверить их. поскольку Model.IsValid всегда выполняется, потому что у производителя есть две пустые строки.
Какая фактическая проверка вы хотите ('[Обязательный]' не работает в коллекции) - вы хотите, чтобы каждый элемент в коллекции не был пустой/пустой? –
есть. Я хочу это сделать. – iGod
Тогда свойство 'производитель' должно быть List' где 'Производитель' - класс, содержащий свойство (скажем)' string Name', которое украшено атрибутом '[Обязательный]'. Но вы не должны генерировать свое мнение таким образом. Вместо этого используйте цикл 'for' –