我是angular的新手,我正在尝试根据属性为指令添加验证。以下是我使用该指令的方法:
<div sc-textbox data-bind-to="fieldToBind" data-field-name="fieldName" data-required="someValue != 'Office'"></div>
可能存在或不存在数据所需属性。该指令的模板是:
<input id="{{fieldName}}" name="{{fieldName}}" type="text" data-ng-model="bindTo" />
当存在data-required属性时,我想在输入中添加data-ng-required =“{{required}}”。我该怎么做呢?
该指令的范围是:
scope: {
'bindTo': '=',
'fieldName': '@',
'required': '='
}
非常感谢任何帮助。
答案 0 :(得分:0)
因为你的范围有限,你需要在你的指令范围内使用一个布尔值来表示“someValue!='Office'”。
或者将someValue放在范围内并执行此操作:
<input id="{{fieldName}}"
data-ng-required="(someValue != 'Office') && required"
name="{{fieldName}}" type="text"
data-ng-model="bindTo" />
<强>更新强>
您要添加“data-ng-required”的属性是一个指令。您无法在Angular中动态添加和删除DOM中的指令。如果你真的不想在DOM的某些部分中使用“data-ng-required”,并且你希望它是动态的,那么你最接近的就是$ compile并将这个输入附加为2个模板 - &gt;一个是必需的,一个没有
答案 1 :(得分:0)
为什么不留下必要的ng-required。这就是它的用途。