Это отлично работает
[MetadataType(typeof(Area_Validation))]
public partial class Area
{
...
}
public class Area_Validation
{
[Required(ErrorMessage = "Please add this field.")]
public int Email { get; set; }
[Required(ErrorMessage = "Please add this field")]
public string Name { get; set; }
}
но как насчет , если Area_Validation
это , динамически создаваемое ?например Поля подписки , которые на внутреннем сервере могут быть созданы пользователем и в конечном итоге будут выглядеть следующим образом:
Как установить Метаданные в каждом поле для автоматической проверки ?
В настоящее время я делаю:
public class SubscriberFormViewModel
{
public List<SubscriberFieldModel> Fields { get; private set; }
public Calendar Calendar { get; private set; }
public Company Company { get; private set; }
public SubscriberFormViewModel()
{
// TODO: This is only for testing while validation is not set
}
public SubscriberFormViewModel(Decimal calendarId)
{
if (calendarId > 0)
{
SubscribersRepository db = new SubscribersRepository();
Calendar calendar = db.GetCalendarById(calendarId);
Company company = db.GetCompanyById(calendar.company_id);
this.Fields = db.FindAllSubscriberFieldsByCalendar(calendarId);
this.Calendar = calendar;
this.Company = company;
}
else
this.Fields = new List<SubscriberFieldModel>();
}
}
, и я хочу установить Метаданные всего Fields
свойство
Другими словами, это Fields
заполняется из базы данных и может иметь несколько типов, может быть string
, number
, dropdown
и т. д... вроде как MailChimp Fields Properties:
есть способ сделать это программно или мне нужно создать плагин jQuery для его проверки и остановкис помощью проверки использования от MVC2?
Спасибо