Html md选择-如何强制要求?

Html md选择-如何强制要求?,html,angularjs,material-design,angular-material,Html,Angularjs,Material Design,Angular Material,如何强制在多模式下选择md,使其像 <select multiple required ... > ? 是小提琴,来表达我的意思。在本例中,我的浏览器不允许我在未从“选择”标记中选择至少1个选项的情况下提交表单 我希望md select的行为类似,但我不知道如何做到这一点-无论是放置“required”属性还是添加“ng require”指令都没有帮助。您可以依靠Angular来进行验证,而不是使用浏览器。下面是我的分叉示例: 具体而言: <button type="s

如何强制在多模式下选择
md
,使其像

<select multiple required ... >

?

是小提琴,来表达我的意思。在本例中,我的浏览器不允许我在未从“选择”标记中选择至少1个选项的情况下提交表单


我希望md select的行为类似,但我不知道如何做到这一点-无论是放置“required”属性还是添加“ng require”指令都没有帮助。

您可以依靠Angular来进行验证,而不是使用浏览器。下面是我的分叉示例:

具体而言:

<button type="submit" ng-disabled="myForm.$invalid">submit</button>
提交
要保持“提交”按钮处于禁用状态,直到表单有效且

<form novalidate name="myForm">

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

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


编辑:确保在
上放置了
ng型号
,否则所需属性将不起作用。

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

yourFormName.mdseletName.$touched=true;

是的,我知道我可以玩诺瓦利达和安格。但有没有办法依靠浏览器呢?我现在不想为错误消息编写自定义css。我尝试了一段时间,但似乎无法让它工作。md select不是表单元素,因此我认为它不会触发浏览器表单验证。我再次检查了您的代码段,发现有一个奇怪的行为:如果您在md select和select框中选择一个选项,则按钮处于活动状态。但它并没有完全取消选择md select值,这似乎不是预期的行为。事实上,我在试图找到解决方案时偶然发现了你的Github帖子,所以请告诉我这是怎么回事。可能有一些黑客的方法可以绕过它,比如在states上放一个$watch,如果它是空数组,则将其重置为空字符串。如前所述,从良好的UI角度来看,使用自定义消息突出显示错误字段比禁用submit按钮(很多人都这么做)更重要。从用户的角度考虑,重要的是告诉用户为什么按钮被禁用,然后只是禁用它,直到表单有效(程序员的角度)