Je viens de validation fonctionne comme je veux avec le code suivant:Nettoyage logique de validation
<div class="control-group" ng-class="{ error : (submitted || accountForm.name.$dirty) && accountForm.name.$invalid }">
<label for="name" class="control-label">Company Name:</label>
<input type="text" name="name" ng-model="account.name" ng-maxlength="50" required />
<span class="help-inline" ng-show="(submitted || accountForm.name.$dirty) && accountForm.name.$error.maxlength">Name too long</span>
<span class="help-inline" ng-show="(submitted || accountForm.name.$dirty) && accountForm.name.$error.required">Required</span>
</div>
Mais il semble y avoir beaucoup de code similaire avec des différences que de légères. Quelle serait la meilleure méthode pour simplifier cela pour a) plus clair, b) plus facile à maintenir?
Mise à jour 23/07 Il ne semble pas qu'il y ait une meilleure pratique immédiate.
créer une méthode déplacer votre logique et l'appeler – Atrix1987
@ Atrix1987 ok, mais comment voulez-vous mettre en œuvre la méthode un moyen DRY? il doit être passé le formulaire, le champ et la validation en tant qu'arguments puis appeler des choses comme myForm.myField. $ error.required - Je ne suis pas sûr de la façon dont vous le faites par programmation? Alors n'est-ce pas nécessaire d'aller dans $ rootScope pour être réutilisable? Peut-être qu'une directive fonctionnerait mieux. – matthewrk