【问题标题】:material design angular input require材料设计角度输入要求
【发布时间】: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


【解决方案1】:

我想你可能没有在控制器中初始化 ng-model 变量。

尝试初始化变量, $scope.test = '';

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 2015-10-16
    • 2015-07-28
    • 2015-09-12
    • 2019-02-28
    • 2019-05-07
    • 1970-01-01
    • 2017-01-03
    • 2021-11-07
    相关资源
    最近更新 更多