【发布时间】:2015-03-03 21:47:33
【问题描述】:
Angular Material Design 是否需要输入 ng-model 等于变量才能正常工作?
在不使用 Material Design 的情况下,以下错误检查工作得非常好。
<label>First Name (as it appears on your card)</label>
<input type="text" name="firstName" data-ng-model="test" required/>
尽管使用 Material Design,除非用户键入、删除或键入其他内容,否则以下内容始终返回无效。
<md-input-container>
<label>First Name (as it appears on your card)</label>
<input type="text" name="firstName" data-ng-model="test" required/>
</md-input-container>
但是,我将 test 设置为范围内的某个值,然后错误检查工作正常:
$scope.test = 'this value';
有没有一种方法可以使用 Material Design 进行错误检查,而无需为字段指定默认值?
【问题讨论】:
-
我不确定你的意思是错误检查不起作用,但第二个听起来像是正确的行为。如果空且触摸(即已编辑)而不是之前出现所需的属性,则字段被标记为不正确。这样,一旦提交表单,必填字段就不会被标记为无效。
-
但是第二个,在控制器中没有
$scope.test = 'this value';,那么只要我输入文本,例如:'hello',我就不会验证。我需要先键入一些内容,然后将其删除,然后再次键入一些内容以使其被识别为真实。所以触摸后标记为不正确且不为空。 -
你能发布一个 jsfiddle/plunker 来演示上述内容吗?
-
我看到了稍微不同的行为。在我选择它进行编辑之前,该字段不会被标记为错误。选择后,它会在我可以输入任何内容之前被标记为错误。一旦我输入,错误就会消失。我本来希望错误不会出现,直到我选择然后离开而不添加任何内容。
标签: javascript angularjs material-design required angular-ngmodel