0

私はこれをdatepickerを使用しています。今のところ、ユーザーは自分が好きなものを入力フィールドに書くことができます。これは私が望むものではありません。角度ui:ブートストラップ日付ピケット入力の有効化

マイコード:

session.js

session.getDateFormat = function() { 
      return 'yyyy-MM-dd'; 
     }; 

     session.formatDate = function(date) { 
      return $filter('date')(date, session.getDateFormat()); 
     }; 

Controller.js

vm.dateFormat = session.getDateFormat(); 
function submit() { 
date : session.formatDate(vm.data.date) 
} 

コードがはるかに長いですが、その日に関する基本的部分。

  1. をユーザーが入力した日付が正しいことを確認するには、次のとHTML

    <input type="text" class="form-control" uib-datepicker-popup="{{vm.dateFormat}}" placeholder="{{vm.dateFormat}}" ng-model="vm.data.date" is-open="vm.dateOpened" ng-required="true" ng-disabled="disabled" /> 
    

    管理者は、彼は私が欲しいものyyyy-mm-ddまたはdd-mm-yyyyなど

    を受け入れるためてgetDateFormatを望んでいる場合は選択することができます書式を使用しない場合は、フィールドを自動的にクリアし、正しい日付形式とともにエラーメッセージを表示して、ユーザーにヒントを与えます。提出を押す前にすべてを完了しなければなりません。

  2. 明らかにユーザーが文字を入力することを許可しない
  3. ハードコードされたhtml正規表現はありません。入力がgetDateFormatと同じであるかどうかを確認したい場合は、フィールドをクリアしてエラーを表示します。
  4. Jqueryがありません。プロジェクト全体でJqueryを使用していません。
  5. Jqueryを使わずに角度とブートストラップで動作する他の日付ピッカーがある場合は、私に教えてください。

答えて

0

私は名「日付ピッカー」とフォーム名「FRMを」日付入力を与えなければならなかったし、その後

<div ng-if="!frm.datepicker.$error.required""> 
<div class="datepicker-error" ng-if="frm.datepicker.$invalid"> 
some error message 
</div></div> 

私はdidnの、その後の角度-UI 1.3.3にアップデートしなければならなかったし、ユーザーが入力を完了しなかった場合、無効になり、クリアされる可能性があるので、フィールドをクリアしないでください。誰かがもっと良い解決策を持っているなら私に知らせてください。

+0

私は今、私の答えを受け入れるでしょう、誰かがより良い答えを持っているなら、私は彼の答えを受け入れるでしょう – Lynob

関連する問題