Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 21151)
+++ wp-admin/includes/post.php	(working copy)
@@ -122,6 +122,9 @@
 		$hh = ($hh > 23 ) ? $hh -24 : $hh;
 		$mn = ($mn > 59 ) ? $mn -60 : $mn;
 		$ss = ($ss > 59 ) ? $ss -60 : $ss;
+		if ( !checkdate( $mm, $jj, $aa ) ) {
+			return new WP_Error( 'invalid_date', __( 'Woops, the provided date is invalid.' ) );
+		}
 		$post_data['post_date'] = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $aa, $mm, $jj, $hh, $mn, $ss );
 		$post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] );
 	}
Index: wp-admin/js/post.dev.js
===================================================================
--- wp-admin/js/post.dev.js	(revision 21151)
+++ wp-admin/js/post.dev.js	(working copy)
@@ -528,6 +528,16 @@
 			return false;
 		});
 
+		$('#post').submit(function(e){
+			if ( !updateText() ) {
+				e.preventDefault();
+				$('#timestampdiv').show();
+				$('#publishing-action .ajax-loading').css('visibility', 'hidden');
+				$('#publish').prop('disabled', false).removeClass('button-primary-disabled');
+				return false;
+			}
+		});
+
 		$('#post-status-select').siblings('a.edit-post-status').click(function() {
 			if ($('#post-status-select').is(":hidden")) {
 				$('#post-status-select').slideDown('fast');
