This repository was archived by the owner on Jan 24, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -257,14 +257,15 @@ angular.module('ui.mask', [])
257
257
minRequiredLength = 0 ;
258
258
259
259
var isOptional = false ,
260
+ numberOfOptionalCharacters = 0 ,
260
261
splitMask = mask . split ( '' ) ;
261
262
262
263
angular . forEach ( splitMask , function ( chr , i ) {
263
264
if ( linkOptions . maskDefinitions [ chr ] ) {
264
265
265
266
maskCaretMap . push ( characterCount ) ;
266
267
267
- maskPlaceholder += getPlaceholderChar ( i ) ;
268
+ maskPlaceholder += getPlaceholderChar ( i - numberOfOptionalCharacters ) ;
268
269
maskPatterns . push ( linkOptions . maskDefinitions [ chr ] ) ;
269
270
270
271
characterCount ++ ;
@@ -274,6 +275,7 @@ angular.module('ui.mask', [])
274
275
}
275
276
else if ( chr === '?' ) {
276
277
isOptional = true ;
278
+ numberOfOptionalCharacters ++ ;
277
279
}
278
280
else {
279
281
maskPlaceholder += chr ;
Original file line number Diff line number Diff line change @@ -227,6 +227,13 @@ describe("uiMask", function () {
227
227
expect ( input . attr ( "placeholder" ) ) . toBe ( "MM/DD/YYYY" ) ;
228
228
} ) ;
229
229
230
+ it ( "should ignore the '?' character" , function ( ) {
231
+ var placeholderHtml = "<input type=\"text\" ui-mask=\"99/99/9999 ?99:99\" placeholder=\"DD/MM/YYYY HH:mm\" ng-model=\"myDate\">" ,
232
+ input = compileElement ( placeholderHtml ) ;
233
+
234
+ scope . $apply ( "myDate = ''" ) ;
235
+ expect ( input . attr ( "placeholder" ) ) . toBe ( "DD/MM/YYYY HH:mm" ) ;
236
+ } ) ;
230
237
231
238
} ) ;
232
239
You can’t perform that action at this time.
0 commit comments