2014-09-11 57 views
1

我對OSX 10.9.4(小牛),Safari和Firefox下面的問題太多:原型日期格式驗證錯誤/火狐

我用bootstrap datepicker我的日期輸入

<label class="col-sm-3 gray required" for="received_date"><?php echo $dataHelper->__('Received Date') ?> <em>*</em></label> 

<div class="col-sm-9 controls input-group date" data-date-format="<?php echo Aion_Ftc_Helper_Data::BOOTSTRAP_DATE_FORMAT ?>" id="dp_received_date"> 
    <input type="text" class="required-entry custom-date validate-date" id="received_date" name="received_date"> 
    <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span> 
</div> 

這是一個原型和prototype validation magento網站。有效日期格式爲 「MM-DD-YYYY」,並確認成功的Windows上的Chrome,火狐,但在OSX Safari和Firefox得到一個錯誤(OSX鉻也不錯)

validate.js

['validate-date', 'Please enter a valid date (MM-DD-YYYY format).', function(v) { 
    if(Validation.get('IsEmpty').test(v)) return true; 
    var regex = /^(\d{2})-(\d{2})-(\d{4})$/; 

    if(Prototype.Browser.WebKit){ 
     var d = new Date(v.replace(regex, '$1-$2-$3')); 
    } else { 
     var d = new Date(v.replace(regex, '$3-$1-$2')); 
    } 
    //console.log(d); 
    return (parseInt(RegExp.$2, 10) == d.getDate()) && 
     (parseInt(RegExp.$1, 10) == (1+d.getMonth())) && 
     (parseInt(RegExp.$3, 10) == d.getFullYear()); 
}], 

有什麼問題?有小費嗎?我也用jquery noconflict

謝謝!

回答

0

只是簡單的使用:

['validate-date', 'Please enter a valid date (MM-DD-YYYY format).', function(v) { 
    return Validation.get('IsEmpty').test(v) || /^(\d{1,2})-(\d{1,2})-(\d{4})$/.test(v); 

}],