AngularJS ng-required只允许空格

时间:2014-04-21 19:43:50

标签: angularjs validation

我的表单上有input[type=text] ng-required="true"。 我有一个按钮单击事件,用于更新输入绑定的模型。

如果更新的值为空,则表单无效。 但如果更新的值完全是空格,则表单有效。

如果删除空格并读取它,表单将再次失效。

这个jsfiddle演示:http://jsfiddle.net/dayeh/

这个问题有解决方法吗?现在我只想修剪所有后端数据。

2 个答案:

答案 0 :(得分:6)

问题出现是因为ng-model的工作方式。

默认情况下ng-model修剪输入值。如果您在值modified fiddle周围查看该值,则可以看到用户输入的空格显示为空字符串。

但是,如果强制模型为空白区域,则不会应用修剪,因此模型在技术上是有效的。

您可以使用ng-model删除ng-trim="false"的默认剪裁。然后你就会得到更多预期的行为。

答案 1 :(得分:0)

单击您的按钮后,该值将重置。但是,该值将重置为。一个空的空白。如果我将其设置为$scope.myData = '';,则valid为false(正如预期的那样)。如果我手动输入空格,则有效值仍为false。

所以我认为 $scope.myData = ' '; 是您遇到的问题。将其切换为scope.myData = '';

Updated fiddle.