Effectuer la validation côté client pour l'attribut personnalisé
J'ai créé une Validation Personnalisée Attribut:
public class FutureDateAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null|| (DateTime)value < DateTime.Now)
return false;
return true;
}
}
Comment puis-je obtenir que cela fonctionne sur le côté client aussi avec jquery?
Vous devez vous connecter pour publier un commentaire.
Voici comment procéder:
Commencer par définir la validation personnalisée attribut:
Remarquez comment il met en œuvre IClientValidatable. Ensuite, nous écrivons notre modèle:
Un contrôleur:
et enfin une vue:
La dernière partie de la magie pour arriver à définir la coutume adaptateur:
return new Date(value) > new Date($(params).val());
àreturn new Date(value) > new Date();
. new Date($(params).val()) pour new Date()jquery.unobtrusive-ajax.js
script.BundleConfig.cs
.Il a fallu un peu de temps étant donné que votre question a été posée, mais si vous avez encore comme les métadonnées, et vous êtes toujours ouvert pour simplifier les solutions de rechange, vous pouvez résoudre votre problème à l'aide d'annotations suivantes:
Il fonctionne aussi bien sur le serveur et le client, hors de la boîte. Pour plus de détails, jetez un oeil à ExpressiveAnnotations bibliothèque.