Angularjs “拒绝使用有效电子邮件”;“封锁”;带有中间自定义指令

Angularjs “拒绝使用有效电子邮件”;“封锁”;带有中间自定义指令,angularjs,validation,input,Angularjs,Validation,Input,我在Angular 1.4中实现了一个自定义指令,它在表单中创建了一个内部输入元素。我对验证有问题 1) 当使电子邮件无效(在输入框中的字符串末尾添加“.”时,ng invalid email类不会向上传播到表单中(可能是因为vc input指令挡住了它?)。因此,它将其报告为“必需无效”,而不是“电子邮件无效” 2) 若我将vc输入更改为just input(并删除关闭的vc输入元素),它将按预期工作(在代码段中尝试) 有没有什么方法可以确保这种有效性按预期的方式传递 “严格使用”; var

我在Angular 1.4中实现了一个自定义指令,它在表单中创建了一个内部输入元素。我对验证有问题

1) 当使电子邮件无效(在输入框中的字符串末尾添加“.”时,ng invalid email类不会向上传播到表单中(可能是因为vc input指令挡住了它?)。因此,它将其报告为“必需无效”,而不是“电子邮件无效”

2) 若我将vc输入更改为just input(并删除关闭的vc输入元素),它将按预期工作(在代码段中尝试)

有没有什么方法可以确保这种有效性按预期的方式传递

“严格使用”;
var myApp=angular.module('myApp',[]);
myApp
.directive('vcInput',['$compile',
函数($compile){
返回{
限制:'E',
链接:函数($scope、elem、attrs){
var toDash=函数(str){
return str.replace(/([A-Z])/g,函数($1){return'-'+$1.toLowerCase();});
};
//返回的图示符字符串可以是glyphicon或FontIcon
var mapIcon=函数(iconName){
变量名称=“”;
如果(iconName==='search'){
glyphName='glyphicon glyphicon搜索';
}
else if(iconName==='user'){
glyphName='glyphicon glyphicon用户';
}
else if(iconName==='password'){
glyphName='glyphicon glyphicon lock';
}
else if(iconName==='token'){
glyphName='glyphicon glyphicon标记';
glyphName=‘fa标签’;
}
返回字形名称;
};
var leadIcon=元素属性(“lead-icon”);
删除元素(“铅图标”);
风险等级;
var spanClass='';
如果(leadIcon!==未定义){
leadClass=mapIcon(leadIcon);
if(leadClass){
span类='左内部加载项';
}
否则{
spanClass='左内无图标';
}
}
var图标=“”;
如果(leadClass!==未定义){
图标=“”;
}
var elementData=elem[0].outerHTML;
var startIndex=elementData.indexOf(“”);
var allAtt=elementData.substring(startIndex,stopIndex);
角度.forEach(属性、函数(值、键){
if(key.lastIndexOf('$',0)&&key!=='leadIcon'){
删除要素(toDash(键));
}
});
var span1='';
var span2='';
var html=$compile(span1+icon+''+span2)($scope);
elem.html(html);
}
};
}])
;

电邮:
必修的!
无效电子邮件!
text={{email.text}}
myForm.input.$valid={{myForm.input.$valid}}
myForm.input.$error={{{myForm.input.$error}}
myForm.$valid={{myForm.$valid}}}
myForm.$error.required={{{!!myForm.$error.required}}}
myForm.$error.email={{{!!myForm.$error.email}}}