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;
如何强制 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;