Forums / General / Date validation

Date validation

Author Message

Alejandro Serrano

Wednesday 27 September 2006 8:36:28 am

This may be a very simple task or already been documented, but I can't find any doc about it.
I have a 'event' class with 'event_start' and 'event_end'. I need to validate that event_end is >= event_start.
Is there any way to do it?

Nate Parsons

Wednesday 27 September 2006 12:59:23 pm

I was unable to find any "eZPublish" way of doing this sort of validation, I ended up using javascript to validate the two form fields & modifying my form's action:

<b>The Form Action</b>

action={concat("/content/edit/",$object.id,"/",$edit_version,"/",$edit_language|not|choose(concat($edit_language,"/"),''))|ezurl}>

<b>Javascript Example Code</b>


if(endUnixtime <= startUnixtime){				
		expMenu('error_start_end_date','show');
		expMenu('error_display','show');
		return false;
	}
	else{
		if(endUnixtime > startUnixtime)
			expMenu('error_start_end_date','none');		
		//Make sure that the end date is later than today
		var endDate = new Date(yy,(mm-1),dd);
		var today = new Date();
		var year = today.getFullYear();
		var month = today.getMonth();
		var day = today.getDate();
		var today = new Date(year,month,day,00,00,00);
		var dateDiffDays = parseInt((endDate - today)/(1000*60*60*24));
		if(dateDiffDays <= 0 ){
			//alert('The end date must be later than today\'s date.');
			//alert('Error2: dateDiffDays: '+dateDiffDays);
			expMenu('error_end_today_date','show');
			expMenu('error_display','show');
			return false;
		}
		else{
			expMenu('error_end_today_date', 'none');
			return true;
		}
        }
}
function datetounixtime(yy,mm,dd,hh,min,sec){
	var humDate = new Date(Date.UTC(yy,(mm-1),dd,hh,min,sec));
	return (humDate.getTime()/1000.0);

---------------------------------------------------------------------------------
I look forward to an America which will not be afraid
of grace and beauty.

-------------JFK 10/26/63------------------------------------------------

Kristof Coomans

Tuesday 03 April 2007 6:27:48 am

There's now a hack in progress which allows to add several kinds of custom validation when storing an object: http://projects.ez.no/objectvalidation

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

eZ debug

Timing: Jan 18 2025 10:30:26
Script start
Timing: Jan 18 2025 10:30:26
Module start 'content'
Timing: Jan 18 2025 10:30:26
Module end 'content'
Timing: Jan 18 2025 10:30:26
Script end

Main resources:

Total runtime0.1611 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0098 587.5313180.8594
Module start 'content' 0.00980.0079 768.390693.9063
Module end 'content' 0.01770.1433 862.2969521.9609
Script end 0.1610  1,384.2578 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00402.4888200.0002
Check MTime0.00140.8884200.0001
Mysql Total
Database connection0.00161.023510.0016
Mysqli_queries0.110968.86581410.0008
Looping result0.00130.82591390.0000
Template Total0.142988.710.1429
Template load0.00090.535610.0009
Template processing0.142088.168610.1420
Override
Cache load0.00060.378010.0006
Sytem overhead
Fetch class attribute can translate value0.00080.496110.0008
XML
Image XML parsing0.00030.179410.0003
General
dbfile0.00583.6222200.0003
String conversion0.00000.004330.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs