2016-11-22 18 views
0

maxlengthとminlengthのメッセージが正しく動作するようにしようとしています。しかし、私は「必要な」メッセージしか得ていません。ページを更新するまでそこにとどまります。また、ユーザーに99/99/9999(mm/dd/yyyy)のように入力させるmd-datepickerにマスクを置く方法もあります。私はまだこれについて何も見つけていない。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

dateのmaxlengthとminlengthを調べる代わりに、dateが有効かどうかを確認することをお勧めします。入力された日付を検証するサンプル(Googleにあります)を確認し、入力した日付をマスクすることもできます。 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の入力コンテナにdatepickerを持っていて、コンテナ内にあれば彼はエラーをスローします。彼のjsファイルの109行目。 –

+0

@ J.Fowlerその理由は、テンプレートがそのテンプレート内に入力コンテナを指定しているからです。これらは入れ子にしてはいけません。入力コンテナにラップする場合は、テンプレートの編集を検討してください。 – bfieck

関連する問題