फ़ॉर्म को अमान्य नहीं करता है मेरे पास एक ऐसा फॉर्म है जो मैं अपने फोन फ़ील्ड्स को इंटेल-टेल-इनपुट मॉड्यूल में रीगेक्स का उपयोग करने से बदलने की प्रक्रिया में हूं। मैं वैध # एस की जांच में & भ्रम की समस्याओं में भाग रहा हूं।
मैं इन क्षेत्रों के कई के साथ एक रूप है ...
<div class="row">
<div class="col-xs-2">
<label for="cellPhone"
translate>CONTACT.CELL</label>
</div>
<div class="col-xs-6"
ng-class="{'has-error': !cellPhoneFocus && forms.contactForm.cellPhone.$invalid && forms.contactForm.cellPhone.$touched }">
<input type="text" class="form-control intlPhoneInput"
id="cellPhone" name="cellPhone"
ng-model="contact.cellPhone.display"
ng-focus="cellPhoneFocus = true"
ng-blur="cellPhoneFocus = false; validatePhone($event)">
<div ng-messages="forms.contactForm.cellPhone.$error"
ng-show="!cellPhoneFocus && forms.contactForm.cellPhone.$touched"
class="errorMessages">
<p ng-message="pattern" translate>
CRUD.VALID_PHONE</p>
</div>
</div>
और सबमिट करें ...
<button type="submit" class="btn btn-primary" ng-disabled="forms.contactForm.$invalid" id="saveContactLink" translate>CRUD.SAVE</button>
तब मेरे नियंत्रक में
(टाइपप्रति) ...
//In Constructor
$scope.validatePhone = this.validatePhone.bind(this);
//Outside constructor
private validatePhone(eventObject: any) {
let thePhoneField = $('#' + eventObject.target.id);
let phoneIsValid = thePhoneField.intlTelInput("isValidNumber");
this.$scope.forms.contactForm[eventObject.target.id].$invalid = !phoneIsValid;
this.$scope.forms.contactForm[eventObject.target.id].$error = {"pattern": !phoneIsValid};
}
यह ठीक से मेरी है-त्रुटि वर्ग और त्रुटि संदेश सेट करता है, लेकिन यह FORM को अमान्य में सेट नहीं करता है। मैंने $ setValidity की कोशिश की है ...
this.$scope.forms.contactForm[eventObject.target.id].$setValidity('pattern', !phoneIsValid);
... लेकिन ऐसा कुछ भी नहीं लगता है।
मैं फ़ील्ड को अमान्य में कैसे सेट करूं, सही एनजी-संदेश दिखाएं (यदि एक से अधिक है), और सुनिश्चित करें कि फॉर्म $ त्रुटियों को अपडेट किया गया है तो सबमिट अक्षम है?
हालांकि यह फ़ॉर्म को अमान्य कर देगा, यह फ़ील्ड तय होने पर इसे वैध बनाने में मदद नहीं करता है, क्योंकि मैं फॉर्म को मान्य करने के लिए वैध रूप से वैध नहीं करता हूं ... क्योंकि एक से अधिक फ़ील्ड हैं। – NikZ