所以我有这个开始日期字段,如果开始日期在事件的结束日期之后,它将正确显示错误。但是,我想这样做,以便表单本身不会提交。我不知道如何使用自定义验证来阻止表单提交。
<fieldset ng-controller="ConfigCtrl" show errors>
<label>Event Start Date</label><sup class="req-field">*</sup>
<div class=" input-group" ng-class="{'has-error': event.info.date >= event.info.end_date}">
<input type="text" name="start-date" class="form-control" datetime-picker="dd MMM yyyy HH:mm" datepicker-append-to-body="true" ng-model="event.info.date" max-val="{{event.info.end_date}}" is-open="isOpen[0]" date-validator ng-focus="openCalendar(0)" required>
<span class=" input-group-btn">
<button class="btn btn-default" type="button" ng-click="openCalendar(0)">
<i class="fa fa-calendar"></i>
</button>
</span>
</div>
</fieldset>
这是提交按钮的代码:
<button class="btn btn-primary" ng-click="saveEvent(event, 'editBasicInfo');editBasicInfo = !editBasicInfo" ng-disabled="basicInfoForm.$invalid">Submit</button>
如果我对ng-maxlength这样的字段进行了验证,则会禁用提交按钮。如何进行此自定义验证?
答案 0 :(得分:0)
这是Naveed的回答。 &#34;虽然您可以将验证逻辑放在ng-disabled中:ng-disabled =&#34; basicInfoForm。$ invalid&amp;&amp; event.info.date&gt; = event.info.end_date&#34;,最佳做法是创建自定义验证器。&#34;
@dinesh和@naveed帮我解决了这个问题。谢谢!