javascript - Angular JS 中的必填字段验证

标签 javascript jquery angularjs

我正在尝试提交一个空白表单,这应该会在我的必填字段上触发一些自定义错误消息。所有验证工作完美。唯一的问题是当表单第一次加载并且用户直接单击提交按钮而不单击表单中的任何位置时。因此,会显示复选框错误消息,但不会显示输入标签错误消息。自定义指令 emailValidate 使用正则表达式验证模糊事件中的电子邮件地址。

有什么方法可以让我在提交按钮上显示输入标签的错误消息,如果它是空的,单独点击。

请在下面找到我的代码-

HTML 代码 -

    <div ng-controller="NewsletterController" class="overlayContent" id="newsletterOverlayContent" novalidate>

<p>
    <label>Email<span class="mandatory">*</span></label>
    <input type="email" ng-model="user.email" email-validate required name="email" />
    <span class="ui-state-error h5-message" ng-show="_ServerForm.email.$error.emailValidate && _ServerForm.email.$error.required">
        <span class="h5-arrow"></span>
        <span class="h5-content">Error</span>
    </span>
</p>

<p class="align">
    <input type="checkbox" ng-model="user.termsagreement" name="termsagreement" value="true" required id="TermsAndConditions">
    <span class="ui-state-error h5-message" ng-show="_ServerForm.termsagreement.$error.required && buttonClicked">
        <span class="h5-arrow"></span>
        <span class="h5-content">I agree</span>
    </span>
    <span class="checkBoxText">
        <span class="mandatory">*</span>Check the box
    </span>
</p>

<div style="float:right" class="buttonSimple">
    <a name="Register" id="RegisterUser" href="#" class="" ng-click="submitform($event)"><span>Registrieren</span></a>
</div>

Controller.js

    function NewsletterController($scope) {
       $scope.submitform = function ($event) {
       $event.preventDefault();
       $scope.buttonClicked = true;
       }
     }
     NewsletterController.$inject = ['$scope'];

最佳答案

@MWay - 我正在研究某些最佳实践,发现不推荐使用 for Loop 是 Angular JS。

所以我得到的解决方案是 -

     <span class="ui-state-error h5-message" ng-show="(_ServerForm.email.$dirty && _ServerForm.email.$error.emailValidate) || (buttonClicked && _ServerForm.email.$invalid)">

关于javascript - Angular JS 中的必填字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285393/

相关文章:

angularjs - Angular UI Bootstrap DatePicker - 在关闭/模糊时获取选定的日期

javascript - 如何在 Nest.js 中使用查询参数?

html - 检测文本是否被jquery插入到输入字段然后运行一个函数

javascript - 两个自定义元素之间的依赖关系,以及 Polymer serve 的路径

javascript - 在窗口调整大小时重新加载 jQuery Carousel 以将方向从垂直更改为水平

javascript - 如何使用单选按钮禁用下拉列表中的选项,所有这些都在同一个下拉列表中。使用 JavaScript

javascript - 使用 JSON 填充 js 数组时出现问题

java - 从不同的域调用 REST API,例如具有相对 URL 的 Angular JS

javascript - 是否可以将 "hold"事件设置为稍后触发?

javascript - 如何构建不改变的DOM的缓存