当相应的表单控件具有必需属性时,我希望我的表单标签在标签旁边显示一个红色星号.
如果需要标签的相应输入,select或textarea(标签对应的元素),我希望在页面加载期间动态地将星号附加到标签,而不是硬编码星号.
我在下面创建了指令,该指令有效.但有没有更好,更本土的方式来实现我的目标?如果div.form-group中的相应表单控件具有必需属性,则此指令查找所有div.form-group容器,并在标签后添加红色*字符.
myApp.directive('labelsRequired',function(){
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elem, attrs){
elem.find('div.form-group').each(function(i, formGroup){
var formControls = $(formGroup).find('input, select, textarea');
console.log(formControls)
if (0 !== formControls.length && undefined !== $(formControls[0]).attr('required')){
jLabel = $(formGroup).find('label');
jLabel.html(jLabel.html()+ "*");
}
})
}
}
});
该指令假定所有输入,选择和textareas都在div.form-group容器内.
First Name
Favorite Food