app.directive('validHttp', function($http) {
return {
require: 'ngModel',
link: function(scope, ele, attrs, c) {
scope.$watch(attrs.ngModel, function() {
if(attrs.name == "link") {
var validateStr = attrs.$$element.val();
if(validateStr == "" || validateStr == null) {
c.$setValidity('http', true);
return;
}
var reg = "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$";
var result = validateStr.match(reg);
if(result != null) {
c.$setValidity('http', true);
}else {
c.$setValidity('http', false);
}
}else {
c.$setValidity('http', true);
}
});
}
}
});
app.directive('validNumber', function() {
return {
require: 'ngModel',
link: function(scope, ele, attrs, c) {
scope.$watch(attrs.ngModel, function() {
if(attrs.type == "number") {
var validateStr = attrs.$$element.val();
if(validateStr == "" || validateStr == null) {
c.$setValidity('number', true);
return;
}
var reg = "^[0-9]*$";
var result = validateStr.match(reg);
if(result != null) {
c.$setValidity('number', true);
}else {
c.$setValidity('number', false);
}
}else {
c.$setValidity('number', true);
}
});
}
}
});