md-select - 如何强制要求?

md-select - how to force required?

如何强制 md-select 在多模式下表现得像

<select multiple required ... >

?

Here就是fiddle,说明我的意思。在这个例子中,我的浏览器不允许我在没有 select 至少 1 个 select 标签选项的情况下提交表单。

我希望 md-select 的行为类似,但我不知道我该怎么做——放置 'required' 属性或添加 'ng-require' 指令都没有帮助。

您可以依靠 Angular 来对此进行验证,而不是浏览器。这是我的分叉示例:

http://codepen.io/anon/pen/rVGLZV

具体来说:

<button type="submit" ng-disabled="myForm.$invalid">submit</button>

在表单有效之前保持提交按钮处于禁用状态,

<form novalidate name="myForm">

为表单命名并告诉浏览器不要对其进行自己的验证。

您甚至可以为 ng-invalid 添加一些 CSS class 以在无效字段周围显示红色。

编辑:确保在 <select multiple> 上放置 ng-model,否则所需的属性将不起作用。

如果您不想禁用提交按钮而是在点击提交按钮时触发错误,您可以将 $touched 属性 设置为 true 以触发所需的警报

yourFormName.mdseletName.$touched=true;