J'ai un formulaire que si une case à cocher est faux applique de validation sur une saisie de texte à l'aide de la ng-requis de la directive. Si la case est vrai, le champ est masqué et le ng-requis est défini sur false.
Le problème est que j'ai aussi un regex pour la validation spécifié sur l'entrée ainsi en utilisant la ng-modèle angulaire de la directive. La question que je suis en cours d'exécution en est que si un utilisateur remplit un numéro de téléphone invalide, coche la case pour désactiver cette entrée (et, par conséquent, n'est plus à la validation) le formulaire ne sera pas permettre la soumission comme il est invalide dans les ng-modèle.
J'ai tenté de résoudre ce problème en ajoutant une ng-changement de fonction pour définir le modèle d'entrée null, cependant la ng-modèle et donc le champ est toujours valide sur l'ensemble initial de la case à false. Si j'ai décocher la case, le réglage de tout retour à la forme initiale de la charge, puis cochez la case de nouveau, le formulaire est valide et capable de se soumettre. Je ne suis pas sûr de ce que je suis absent. Voici la ng-modifier le code j'ai à ce jour:
var phoneNumberRegex = /^\(?(\d{3})\)?[ .-]?(\d{3})[ .-]?(\d{4})$/;
$scope.phoneNumberPattern = phoneNumberRegex;
$scope.removeValidation = function() {
if ($scope.cell._newUser === false) {
$scope.request._number = '';
$scope.phoneNumberPattern = /[0-9a-zA-Z]?/;
} else {
$scope.phoneNumberPattern = phoneNumberRegex;
}
};