当前位置: 首页 > 面试题库 >

如何使必填字段的ngMessage仅在肮脏或提交表单时显示?

燕博文
2023-03-14
问题内容

我正在使用AngularJS 1.3.0 RC0和angular-messages。最初加载表单时,ng-
messages会忠实地显示那些“必填”字段的错误消息。因此,新加载的表单页面充满了错误消息。这不是我想要的。如何使必填字段的ngMessage仅在这些字段不干净或提交表单时才显示?

我已经阅读了官方文档,没有头绪。并尝试在ng-messages div中放入“ ng-show =“ fieldName。$
dirty””,此方法不起作用。任何帮助将不胜感激!


问题答案:

使用ng-if属性检查具有$dirty的标签ng-messages

范例:

<div ng-messages='myForm.myControl.$error' ng-if='myForm.myControl.$dirty'>
    <div ng-message='required'>Required field</div>
</div>


 类似资料:
  • 我使用以下代码使用Ajax提交表单: 此函数检查表单元素中所需的类 然后,我有了这段代码,可以使用上述功能自动检查所有表单中的必填字段: 它适用于发布到另一页的表单。 当使用Ajax提交代码时,当出现错误时,它会显示,但它仍会提交表单。

  • 问题内容: 我有使用验证的表单字段。问题在于,呈现表单时会立即显示错误。我只希望在用户实际在文本字段中键入或提交后才显示它。 我该如何实施? 问题答案: 仅在用户与输入交互后,使用标志显示错误: 如果仅在用户提交表单后才想触发错误,则可以使用单独的标志变量,如下所示: 然后,如果表达式内的所有JS 看上去对您来说太多了,您可以将其抽象为一个单独的方法:

  • 我有一个问题,当我完成表单上的一个字段并使用Tab键或鼠标移动到另一个字段时,表单会自动提交并转到actionCreate或actionEdit(视情况而定)中指定的页面。如果我重新打开表单,则该单个数据元素已保存,并且我可以再输入一个数据元素,但只要移动到另一个字段,表单就会自动重新提交。 一些背景资料: 这种行为发生在Google Chrome v.56上。x和Firefox v.52。x、

  • 问题内容: 因此,我有一堆段落元素是从数据库动态填充的。我已经使元素内容可编辑。我现在想通过标准表单提交将编辑提交回数据库。有没有一种方法可以将contenteditable元素发布回去? 问题答案: 您必须使用javascript的一种或另一种方式,它不能像textarea之类的那样用作“标准”表单元素。如果愿意,可以在表单内创建一个隐藏的文本区域,然后在表单的onsubmit函数中将可编辑内容

  • 我有一个PDF中定义的表单。表单中的一个字段是多行文本字段。 文本字段中的值由使用Apache PDFBox的java程序填充。 问题是当值大约为5到6行时,文本框会自动显示文本。但如果超过6行,则文本框不显示该值。我必须特别点击文本字段来显示文本。如果我再次单击文本框外,文本将消失。