4

私はJquery Validationプラグインを使用し、次のようなイベントの日付を検証します

rules:{
       eventdate: 
       {
       required:true,   
       date: true
       }
     }

日付形式は「2013 年 8 月 23 日」('dd/MM/yy') のようなものです。

ただし、コードはSafariで失敗し、Fx、chrome、opera でより適切に動作します...

それは Safari のバグですか、それとも Jquery Validation プラグインのバグですか?

Jquery Validation プラグインが次のようなカスタム検証をサポートしていることを知っています

$.validator.addMethod("customdateValidateRule", function(value, element) 
{  
_isvalidResult=****testfn()***;
return _isvalidResult;
}

jQuery検証プラグインでカスタム日付形式を試しましたが、「わからない」の正規表現ではdd/mm/yyyy ないため 、 役に立ちませんでした。('dd/MM/yy')23/August/2013"

備考

1)日付の選択に Datepicker(JqueryUi) を使用しています
2) Jquery Validation プラグイン (最新) を使用しています。これは多くの日付形式を検証し、「2013 年 8 月 23 日」も検証します (私は想定しています)。 Safari では、FX、Chrome、Opera で「有効」と表示されているところに無効が表示されます。

4

2 に答える 2

3

あなたが使用している場合、あなたが言ったように、JqueryUi Datepicker2つの方法があります

1) @hwnd が言ったように、バリデータ プラグインを編集する必要があります
2) 下に私のハックを追加するだけで満足です!

    /*Override the validator's Date Validation with mine! */
    $.validator.methods.date=
    function(value, element) {  
    try{
    var _appleDates=$.datepicker.formatDate("mm/dd/yy",$.datepicker.parseDate("dd/MM/yy",value));
    return (!/Invalid|NaN/.test(new Date(_appleDates).toString()));
    }catch(e){return false;};
    };

その後、あなたが言ったように使用します

rules:{
       eventdate: 
       {
       required:true,   
       date: true
       }
     }

ありがとう 幸せになろう!

于 2013-08-26T06:05:01.600 に答える