Ce fonctionne très bienvalidation dynamique sur MVC 2
[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; }
}
mais que diriez-vous siArea_Validation
est dynamiquement créé? par exemple abonnement Les champs que le back-end peut être créé par l'utilisateur et finissent comme ceci:
Comment définir les métadonnées sur chaque champ pour validation automatique?
Actuellement, je fais:
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>();
}
}
et je veux régler le des métadonnées dans tous Fields
biens
En d'autres termes, cette Fields
sont remplis de la base de données et peut avoir plusieurs types, peut être un string
, number
, dropdown
, etc ... un peu comme les champs MailChimp Propriétés:
est-il un moyen de le faire programmaticaly ou je dois créer un plugin jQuery pour le valider et cesser d'utiliser la validation de l'utilisation de MVC2?
Merci
encore une fois :) Je pensais juste ajouter quelques jQuery dessus pour valider en utilisant une convention de nommage de classe, car je sais ce que le type et si c'est nécessaire ... Tout simplement pour le faire en utilisant javascript, comme dans le contrôleur je peux toujours retourner l'erreur, je voulais juste faire les choses correctement et enregistrer un aller-retour au serveur :) - ** Je vais ** jeter un oeil à ce projet. – balexandre
Eh bien ... s'il vous plaît tenez-moi au courant de cela! Jetez aussi un oeil à ce plugin jQuery: 'http: // bassistance.de/jquery-plugins/jquery-plugin-validation /'. Il s'intègre parfaitement avec asp.net mvc et est un très bon plugin qui peut vous aider avec vos besoins ... – Lorenzo