【问题标题】:Can't seem to do has-errors inside a div-div tag?似乎不能在 div-div 标签内出现错误?
【发布时间】:2015-04-07 03:36:10
【问题描述】:

我正在使用 AngularJS 进行一些基本的表单验证。

这是目前为止的代码:

<form name="myForm" id="form_id" method="post" novalidate>
    <div class="form-group">
        <label for="myField_input" class="col-sm-2 control-label">Field</label>
        <div class="col-sm-10" ng-class="{ 'has-error' : myForm.myField.$invalid && (myForm.myField.$dirty || submitted)}">
            <input type="text" class="form-control" name="myField" id="myField_input" placeholder="MyField" ng-model="myField" required>
        </div>
    </div>
</form>
<div class="form-group" ng-controller="AddPropertyController">
    <button class="btn btn-default col-md-4 col-sm-offset-5" ng-click="submitProperty()">Submit</button>
</div>

当你点击按钮时,在控制器中,$scope.submitted = true;

当我有一个带有标签和输入的 div 标签时,此 has-error 字段有效。但是在 div 中使用 div,它似乎不再起作用,我不知道该怎么办。

【问题讨论】:

  • 什么具体不起作用?课程没有改变或者你的css没有受到影响?演示可能也会有所帮助
  • css(或 html?)没有受到影响。基本上,当我单击提交时,myField 为空/无效,它应该将它的边框突出显示为红色,它没有做。
  • 你能举个例子说明什么不起作用吗?
  • 这不能回答是否添加了类,这可以在开发工具的实时 html 中轻松检查。同样,您可以检查适用于任何元素的所有 css 规则再次演示会有所帮助
  • codepen.io/anon/pen/QwRONr 这是代码...如您所见,如果用户单击该字段,show-error 使我可以显示无效字段。但是,当用户点击提交时,如果该字段无效/为空,它应该是红色的。

标签: javascript html angularjs twitter-bootstrap


【解决方案1】:

您的主要问题是尝试访问不在表单范围内的变量 submitted

您只在提交按钮周围包裹了一个控制器,而不是表单的其余部分

更改控制器以包装整个表单并提交按钮可解决问题,因为 ng-class 然后可以使用 submitted 变量

【讨论】:

  • 差不多就是这样。我在外面有标签,所以它们无法相互连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
相关资源
最近更新 更多