2016-11-22 94 views
0

我想让maxlength和minlength消息正常工作。但是,我只收到“必需”信息。然后它会一直呆在那里直到我刷新页面。另外,有没有办法在md-datepicker上放置一个强制用户输入像99/99/9999(mm/dd/yyyy)的掩码。至今我还没有发现任何东西。md-datepicker不能使用maxlength和minlength

 <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> 

回答

0

我会建议,而不是检查日期的最大长度和最小长度,检查日期是否有效。验证下面的示例(在谷歌上找到)验证输入日期,并允许您掩盖您输入的日期。 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> 
+0

我看着这个非常的演示之前,不能让它在我的情况下工作。我有一个md-input-container中的datepicker,在他的js中,如果它在一个容器中,它会抛出一个错误。他的js文件的第109行。 –

+0

@ J.Fowler原因是因为他的模板在其中指定了一个输入容器。你真的不应该嵌套这些,所以如果你将它包装在一个输入容器中,你可能要考虑编辑模板。 – bfieck