Onay kutusu yanlışsa, ng-gerekli yönergeyi kullanarak bir metin girişi üzerinde doğrulamayı zorunlu kılan bir formum var. Onay kutusu doğruysa, alan gizlidir ve ng-gerekli değeri yanlış olarak ayarlanmıştır.
Sorun şu ki, girdide belirtilen doğrulama için bir regex'in yanı sıra ng-örüntü açısal yönergesini de kullanıyorum. Karşılaştığım sorun şu ki, bir kullanıcı geçersiz bir telefon numarası girerse, bu girişi devre dışı bırakmak için kutuyu işaretler (ve sonuç olarak başka bir doğrulamaya ihtiyaç duymaz), form, ng kalıbına göre geçersiz olduğu için gönderime izin vermez.
Giriş modelini boş olarak ayarlamak için bir ng-değiştirme işlevi ekleyerek bu sorunu çözmeye çalıştım, ancak ng-örüntüsü ve dolayısıyla alan, onay kutusunun ilk setinde hala geçersiz olarak ayarlandı. Bununla birlikte, kutunun işaretini kaldırırsam, her şeyi ilk form yüklemesine geri döndürürsem, ardından kutuyu tekrar işaretlersem, form geçerlidir ve gönderilebilir. Ne kaçırdığımdan emin değilim. Şimdiye kadar sahip olduğum ng-değiştirme kodu:
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;
}
};