इस मिला क्योंकि मेरी मान्यता सही था, लेकिन क्योंकि ng-invalid-parse
लागू किया जा रहा था ng-invalid
वर्ग अभी भी लागू किया जा रहा था।
मेरी (सरल) मामले में मैं एक IPv4 पता मान्य किया गया था, और बस मान देने के लिए विफल रहा था:
angular.module('insightApp.directives').directive('ipInput', function() {
return {
restrict: 'A',
require: '?ngModel',
link: function (scope, elem, attrs, ctrl) {
if (!(ctrl)) {
return;
}
function ipValidator(ngModelValue) {
if (
ngModelValue != '0.0.0.0' &&
ngModelValue != '255.255.255.255' &&
ngModelValue.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/)
) {
ctrl.$setValidity('ipValidator', true);
} else {
ctrl.$setValidity('ipValidator', false);
}
// Adding this return statement resolved the problem with "ng-invalid-parse" being added
return ngModelValue;
}
ctrl.$parsers.push(ipValidator);
}
}
});
स्रोत
2016-01-26 01:56:03
हां। लेकिन मुझे कोणीय दस्तावेज़ पृष्ठ पर संलग्न प्लंकर में एक ही व्यवहार नहीं मिला। http://plnkr.co/edit/gRtAwHXo1bBGtsdNoVcq?p=preview – user2568304
यह व्यवहार कोणीय 1.3 में जोड़ा गया था। उपर्युक्त प्लंक पुराने संस्करण का उपयोग करता है, इसलिए, पार्स त्रुटि पुन: उत्पन्न नहीं होती है। – user2568304