我在輸入字段使用此ng-pattern="/^[0-9]{9}$/"
是呈現如下:NG模式是不是錯了不允許被觸發提示
<input
type="text"
id="company_taxId"
ng-model="company.taxId"
required="required"
class="input ng-scope ng-valid-maxlength ng-valid-minlength ng-dirty ng-valid-required ng-invalid ng-invalid-pattern"
style="width:485px;"
ng-minlength="9"
maxlength="9"
ng-maxlength="9"
ng-pattern="/^[0-9]{9}$/"
placeholder="Ej: 458965879"
tooltip="Ej: 458965879"
wv-def="Ej: 458965879"
tooltip-trigger="focus"
tooltip-placement="right"
wv-cur=""
wv-err="Este valor debería ser un número válido."
wv-req="Este campo es requerido"
wv-min="Este valor debería tener exactamente 9 caracteres"
wv-max="Este valor debería tener exactamente 9 caracteres"
>
如果模式失敗,例如,如果我寫的信,而不是編號爲「Este valordeberíaser unnúmeroválido」的消息應該觸發,但它不起作用,我無法找到問題所在。模式是否錯誤?那裏有什麼問題?
這是處理提示觸發的指令:
app.directive('validated', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.keyup(function(){
parent = $('.tooltip');
target = parent.find('.tooltip-inner');
if(element.hasClass('ng-invalid-required')){
target.html(attrs.wvReq);
attrs.wvCur = attrs.wvReq;
parent.addClass('error');
}
else if(element.hasClass('ng-invalid-email')){
target.html(attrs.wvEml);
attrs.wvCur = attrs.wvEml;
parent.addClass('error');
}
else if (element.hasClass('ng-invalid-name-exists')) {
target.html(attrs.wvNam);
attrs.wvCur = attrs.wvNam;
parent.addClass('error');
}
else if(element.hasClass('ng-invalid-minlength')){
target.html(attrs.wvMin);
attrs.wvCur = attrs.wvMin;
parent.addClass('error');
}
else if(element.hasClass('ng-invalid-maxlength')){
target.html(attrs.wvMax);
attrs.wvCur = attrs.wvMax;
parent.addClass('error');
}
else if(element.hasClass('ng-invalid')){
target.html(attrs.wvErr);
attrs.wvCur = attrs.wvErr;
parent.addClass('error');
}
else{
target.html(attrs.wvDef);
attrs.wvCur = attrs.wvDef;
parent.removeClass('error');
}
});
element.focus(function(){
//attrs.title = attrs.wvCur;
setTimeout(function(){
parent = $('.tooltip');
target = parent.find('.tooltip-inner');
target.html((attrs.wvCur != "" ? attrs.wvCur : attrs.wvDef));
if(attrs.wvCur != attrs.wvDef && attrs.wvCur != "")
parent.addClass('error');
},5);
});
}
};
});
PS:我使用Twitter的引導工具提示:本
您是否嘗試過使用該正則表達式設置'$ scope'變量,然後將該變量用作'ng-pattern'的參數? –
'wv-err'是什麼? –
@FooL爲什麼這樣做?我的意思是,如果例如我有50個字段,每個都有不同的'ng-pattern',那麼我應該在控制器的'$ scope'中設置所有這些?這是瘋了,但回答你的疑問,不,我沒有嘗試 – ReynierPM