2017-01-03 33 views
0

で、私は次のように日付ピッカーを作成したのjQuery UIのバージョン1.12.1とjQueryの検証v1.15.0ここで、「有効な日付を入力してください。 jquery.validate.js

を使用しています:

if ($.fn.datepicker) $(':input.date').datepicker({ 
      changeMonth: true, 
      changeYear: true 
    }); 

デフォルトでは、日付の形式はmmとなります/ DD/YYYY、たとえば2017年1月26日のために、1月2017

Iがdd/mm/yyyyされる日付形式を変更しようとしています26日を表すので、私は次のように日付ピッカーを変更:

if ($.fn.datepicker) $(':input.date').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: 'dd/mm/yy' 
}); 

これで、日付形式は正しく表示され、26/01/2017、2017年1月26日になります。

ただし、赤色のエラーメッセージPlease enter a valid date.が表示されます。それは、このエラーメッセージを投げる理由をどのように/

messages: { 
     // some other code 
     date: "Please enter a valid date.", 
     // some other code 
    }, 

任意のアイデア:私のデバッグの後、私は、エラーメッセージが実際にライン357でjquery.validate.jsから来ていることがわかりましたか?

jQueryの検証バージョンと互換性のないjQuery UIバージョンですか?

親切にお伝えください。それを見つけた

答えて

1

、実際にライン1356であるjquery.validate.min.jsの日付法バリデーション、によってトリガーされた:

// http://jqueryvalidation.org/date-method/ 
     date: function(value, element) { 
      return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString()); 
     }, 
+0

'/Invalid|NaN/.test(new日(値).toString()) 'は本当に' isNaN(new Date(value)) 'でなければなりません。 – RobG

関連する問題