【发布时间】:2014-01-22 14:18:09
【问题描述】:
我正在尝试提交一个空白表单,这应该会触发我的必填字段上的一些自定义错误消息。所有验证工作完美。唯一的问题是当表单第一次加载并且用户直接单击提交按钮而不单击表单中的任何位置时。因此,会显示 Checkbox 错误消息,但不显示输入标签错误消息。自定义指令 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'];
【问题讨论】:
-
用表单包装输入怎么样?
-
@Beterraba 我无法手动执行此操作,因为正在使用的 CMS 在呈现页面时会自动执行此操作。
标签: javascript jquery angularjs