无效表单错误

时间:2016-07-11 06:27:55

标签: angularjs

这是my form哪个工作正常,但有2个问题令我感到困惑

1)当用户点击所需的输入框并离开时,它会在文本下方出现错误,但仍然禁用重置按钮;如何在出错时启用重置按钮,以便我可以删除输入框下方的错误。我添加了

ng-disabled="movieForm.$pristine";在重置按钮;我是否需要添加其他内容

2)当我在电影年份框中写入无效条目时,即出现字符串而不是年份而不是错误;我点击重置按钮;它清除了框值但是启用了保存按钮。这是不可取的。

请帮助解决此表单问题

2 个答案:

答案 0 :(得分:3)

required更改为ng-required="true",您就完成了。

编辑:

对于重置按钮问题,我认为您应该始终启用它。如果在表单为空时禁用用户,则无法以任何方式帮助用户。

这里的问题是你想用这个按钮来“破解”这个行为。重置后,表单仍然无效,您只想通过设置$untouched来隐藏消息。您可以添加更多逻辑来检查表单是否无效和空,或者只是无效,或者只是重置等。或者保持启用按钮并保持简单。您可以在更新的plunker中查看它的工作原理。

Corrected example

答案 1 :(得分:1)

你需要做两件事:

  1. 要更改重置按钮的代码,应该是:

    data.new
  2. 您需要更改控制器的重置功能,它应该是:

             <input type="button" value="Reset" class="btn btn-info" ng-disabled="movieForm.$pristine && movieForm.mName.$untouched && movieForm.mStar.$untouched && movieForm.mYear.$untouched" ng-click="reset()"/>