私はこれを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)
}
コードがはるかに長いですが、その日に関する基本的部分。
- をユーザーが入力した日付が正しいことを確認するには、次のと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を望んでいる場合は選択することができます書式を使用しない場合は、フィールドを自動的にクリアし、正しい日付形式とともにエラーメッセージを表示して、ユーザーにヒントを与えます。提出を押す前にすべてを完了しなければなりません。
- 明らかにユーザーが文字を入力することを許可しない
- ハードコードされたhtml正規表現はありません。入力がgetDateFormatと同じであるかどうかを確認したい場合は、フィールドをクリアしてエラーを表示します。
- Jqueryがありません。プロジェクト全体でJqueryを使用していません。
- Jqueryを使わずに角度とブートストラップで動作する他の日付ピッカーがある場合は、私に教えてください。
私は今、私の答えを受け入れるでしょう、誰かがより良い答えを持っているなら、私は彼の答えを受け入れるでしょう – Lynob