md-datepicker不使用maxlength和minlength

时间:2016-11-22 20:18:32

标签: angularjs datepicker ng-messages

我试图让maxlength和minlength消息正常工作。但是,我只收到“必填”消息。它然后一直呆在那里,直到我刷新页面。另外,有没有办法在md-datepicker上放置一个强制用户输入99/99/9999(mm / dd / yyyy)的掩码。到目前为止我还没有找到任何相关内容。

       <md-input-container class="md-block">
            <label>{{dynElm.dob.text}}</label>
            <md-datepicker ng-change="dateChange()" type="text" name="dob" ng-model="signup.date" md-open-on-focus md-current-view="year" maxlength="9" minlength="6" ng-click="md-is-open" required></md-datepicker>
            <div class="hint" align="center">(MM/DD/YYYY)</div>
            <div ng-messages="signup.dob.$error" style="color:red;" role="alert">
                <div ng-message="required">Date of Birth field is required</div>
                <div ng-message="maxlength">Use MM/DD/YYYY format for entry</div>
                <div ng-message="minlength">Use MM/DD/YYYY format for entry</div>
            </div>
        </md-input-container>

1 个答案:

答案 0 :(得分:0)

我建议不要检查日期的maxlength和minlength,而是检查日期是否有效。验证以下样本(在谷歌上找到)验证输入的日期,并允许您屏蔽您输入的日期。 DEMO

  <md-datepicker-custom name="dateField" 
                 ng-model="appCtrl.myDate" 
                 md-placeholder="Enter date" 
                 md-min-date="appCtrl.minDate" 
                 md-max-date="appCtrl.maxDate" 
                 md-custom-required="true" 
                 md-custom-default-date="{{::appCtrl.defaultDate}}" 
                 md-custom-mask="19/39/9999" 
                 md-custom-clean-mask="false" 
                 md-custom-restrict="reject">
  </md-datepicker-custom>