将表单输入(不是整个表单)对象传递给Angularjs中的指令

将表单输入(不是整个表单)对象传递给Angularjs中的指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在尝试将formName.formInput传递给指令,以便在指令模板内使用ngMessages='passedFormInput.$error' 我的目标是为ngMessages创建一个针对一般表单错误的快捷指令 我有一个小家伙: 我希望我的指令只需要 ' + '' + '' + '*' + “太短了。”+ “太长了。”+ “无效的电子邮件地址。”+ “meep”, 范围:假, 控制器:['$scope',函数($scope){ $scope.formInput=$scope.rcMess

我正在尝试将
formName.formInput
传递给指令,以便在指令模板内使用
ngMessages='passedFormInput.$error'

我的目标是为ngMessages创建一个针对一般表单错误的快捷指令

我有一个小家伙:

我希望我的指令只需要

' + '' + '' + '*' + “太短了。”+ “太长了。”+ “无效的电子邮件地址。”+ “meep”, 范围:假, 控制器:['$scope',函数($scope){ $scope.formInput=$scope.rcMessages; log('rcMessages',$scope.rcMessages); log('formInputError',$scope.formInputError); }], 链接:函数($scope、element、attrs、ctrl){ $scope.testForm=ctrl; log('ctrl',ctrl'); } }; }); 我可以使用
^form
获取表单控制器,但我似乎无法专注于表单中的特定元素

------编辑:为任何正在寻找的人提供解决方案-----

我意识到我的错误是没有在
输入中添加名称。当给定一个名称时,该输入对象被添加到
FormController
,我可以通过
rc messages
属性发送输入名称来访问它


请查看我更新的plunker:

您的输入中缺少
名称
值,这就是您无法在表单控制器上访问输入值的原因。您可以使用以下方法进行修复:

<div rc-messages="form.userEmail">

顺便说一下,我不知道为什么,但我觉得这有点可疑:

只是一个建议


您的输入缺少
名称
值,这就是您无法在表单控制器上访问输入值的原因。您可以使用以下方法进行修复:

<div rc-messages="form.userEmail">

顺便说一下,我不知道为什么,但我觉得这有点可疑:

只是一个建议


我不确定这是否会变得更容易,但在输入本身上指定指令似乎更有意义。如果是在输入上,我如何在标签上打印字符串?我不确定这是否会变得更容易,但是在输入本身上指定指令似乎更有意义。如果它在输入上,我如何在标签上打印字符串?谢谢。这正是我的问题所在。谢谢。这正是我的问题所在。
<input name="userEmail" ng-model="credentials.email" maxlength="255" required 
       type="email" class="form-control" id="userEmail" placeholder="Email">
link: function($scope, elem, attrs, ctrls){
    var inputModel = ctrls[0].userEmail
<div rc-messages="form.userEmail">
<div rc-messages="userEmail">