首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Angular-material验证表单

使用Angular-material验证表单
EN

Stack Overflow用户
提问于 2016-05-22 15:55:32
回答 1查看 20.8K关注 0票数 9

如何使用Angular-material验证表单,我需要两个功能: 1)当单击提交时,如果必填字段为空,则显示错误消息。2)如果表单字段无效,不要发送post请求(避免提交)。下一段代码避免了提交,但在单击时不会显示错误消息,只有在光标离开每个输入字段时才会显示错误消息。

代码语言:javascript
复制
 <form name="userForm">
<md-input-container>
    <input name="email" placeholder="Email" data-ng-model="vm.registerUserData.email" required />
    <div ng-messages="userForm.email.$error" ng-if='userForm.myControl.$dirty'>
      <div ng-message="required">This is required!</div>
    </div>
</md-input-container>

<md-input-container>
    <input name="Password" placeholder="Password" data-ng-model="vm.registerUserData.password" required />
     <div ng-messages="userForm.Password.$error">
     <div ng-message="required">This is required!</div>
     </div>
 </md-input-container>                             

 <md-input-container>
    <md-button id="registerUser" value="Register" class="md-raised md-primary" ng-click="userForm.$valid &&  vm.registerUser()" aria-label="login" ng-disabled="login.loginForm.$invalid()">
      Create
     </md-button>
</md-input-container>
 </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-22 16:24:01

你遗漏了两样东西。

优先:type="submit"添加到md-button元素。

第二步:novalidate添加到form元素:

请注意,novalidate用于禁用浏览器的本机表单验证。

还应该考虑在form元素上使用ng-submit,而不是在按钮上使用ng-click

代码语言:javascript
复制
<form name="userForm" novalidate ng-submit="userForm.$valid &&  vm.registerUser()">
    <md-input-container>
        <input name="email" placeholder="Email" data-ng-model="vm.registerUserData.email" required />
        <div ng-messages="userForm.email.$error" ng-if='userForm.myControl.$dirty'>
            <div ng-message="required">This is required!</div>
        </div>
    </md-input-container>

    <md-input-container>
        <input name="Password" placeholder="Password" data-ng-model="vm.registerUserData.password" required />
        <div ng-messages="userForm.Password.$error">
            <div ng-message="required">This is required!</div>
        </div>
    </md-input-container>                             

    <md-input-container>
        <md-button type="submit" id="registerUser" value="Register" class="md-raised md-primary" aria-label="login" ng-disabled="login.loginForm.$invalid()">
            Create
        </md-button>
    </md-input-container>
</form>
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37371870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档