gpt4 book ai didi

javascript - validRegex 指令中的 $setValidity

转载 作者:行者123 更新时间:2023-12-03 12:30:56 27 4
gpt4 key购买 nike

我有这样的指令:

  .directive('validRegex', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
ngModel.$parsers.unshift(function(viewValue) {
console.log(viewValue);
try {
var regex = new RegExp(viewValue);
ngModel.$setValidity('notRegex', true);
return viewValue;
} catch(e) {
ngModel.$setValidity('notRegex', false);
return undefined;
}
});
}
};
})

我这样使用它:

  <div class="col-sm-7">
<input class="form-control" valid-regex id="search-text" type="text" ng-model="selectedSearchText"/>
<span ng-show="selectedSearchText.$error.notRegex" class="form-error">
Invalid Regular Expression
<span class="icon-attention app_icon"></span>
</span>
</div>
<p>{{selectedSearchText}}</p>

如果正则表达式无效,则文本不会按预期显示,但不会出现错误消息。我已经搜索过,但没有找到修复方法。

最佳答案

您必须将输入字段括在表单中,如下所示

<form name="form">

<div class="col-sm-7">
<input class="form-control" valid-regex id="search-text" type="text" ng-model="selectedSearchText" name="selectedSearchText"/>
<span ng-show="form.selectedSearchText.$error" class="form-error">
Invalid Regular Expression
<span class="icon-attention app_icon"></span>
</span>
</div>
<p>{{selectedSearchText}}</p>
</form>

关于javascript - validRegex 指令中的 $setValidity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23935738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com