我想使用指令将“ng-pattern”应用于表单输入字段。假设我想检查提供的值是否为整数。
表单标记
<form class="form" name="frm" novalidate>
<div class="form-group">
<label class="control-label">Age</label>
<input int
type="text"
name="age"
class="form-control"
ng-model="fd.age">
<span class="help-block" ng-show="frm.age.$error.pattern">
age is just a number.
</span>
</div>
</form>
指令代码是这样的
app.directive("int", function($compile){
return {
restrict: "A",
scope: true,
replace: true,
link: function(scope, elem, attrs) {
elem.attr("ng-pattern", "/[0-9]+/");
}
}
});
在标记中,我可以看到它已正确应用,但仍然无法正常工作。该模式是正确的,因为当我在标记中明确使用它而不使用指令时,它可以很好地工作。
我有两个问题。
为什么这不起作用?
由于我必须编写很多此类特定于域的指令,因此我的方法解决此问题模式是否正确。