summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwei <>2006-08-29 13:41:36 +0000
committerwei <>2006-08-29 13:41:36 +0000
commitda895b1c97234c9640d94bef0e2027b9fc8a6a66 (patch)
tree3a39971114d30adb88b95019e2ff83588c506e5a
parent13b256cdf8e3cef810d1b3dcf580be751b94c9fe (diff)
Fixing ticket #274
-rw-r--r--framework/Web/Javascripts/js/compressed/validator.js4
-rw-r--r--framework/Web/Javascripts/js/debug/validator.js22
-rw-r--r--framework/Web/Javascripts/prado/validation3.js22
-rw-r--r--framework/Web/UI/WebControls/TDataTypeValidator.php2
-rw-r--r--framework/Web/UI/WebControls/TDatePicker.php6
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket274.page10
6 files changed, 33 insertions, 33 deletions
diff --git a/framework/Web/Javascripts/js/compressed/validator.js b/framework/Web/Javascripts/js/compressed/validator.js
index cecc6881..d3d8c53e 100644
--- a/framework/Web/Javascripts/js/compressed/validator.js
+++ b/framework/Web/Javascripts/js/compressed/validator.js
@@ -127,7 +127,7 @@ control=this.control
switch(this.options.ControlType)
{case'TDatePicker':if(control.type=="text")
{value=this.trim($F(control));if(this.options.DateFormat)
-{date=value.toDate(this.options.DateFormat);return date==null?'':date;}
+{date=value.toDate(this.options.DateFormat);return date==null?value:date;}
else
return value;}
else
@@ -201,5 +201,5 @@ return false;required.each(function(requiredValue)
var min=typeof(this.options.Min)=="undefined"?Number.NEGATIVE_INFINITY:this.options.Min;var max=typeof(this.options.Max)=="undefined"?Number.POSITIVE_INFINITY:this.options.Max;return exists&&checked>=min&&checked<=max;},getRequiredValues:function()
{var required=[];if(this.options.Required&&this.options.Required.length>0)
required=this.options.Required.split(/,\s*/);return required;}});Prado.WebUI.TDataTypeValidator=Class.extend(Prado.WebUI.TBaseValidator,{evaluateIsValid:function()
-{var value=this.getValidationValue();if(value.length<=0)
+{value=this.getValidationValue();if(value.length<=0)
return true;return this.convert(this.options.DataType,value)!=null;}}); \ No newline at end of file
diff --git a/framework/Web/Javascripts/js/debug/validator.js b/framework/Web/Javascripts/js/debug/validator.js
index a77b6f42..7a963f82 100644
--- a/framework/Web/Javascripts/js/debug/validator.js
+++ b/framework/Web/Javascripts/js/debug/validator.js
@@ -756,9 +756,9 @@ Prado.WebUI.TBaseValidator.prototype =
return value;
},
- /**
+ /**
* The ControlType property comes from TBaseValidator::getClientControlClass()
- * Be sure to update the TBaseValidator::$_clientClass if new cases are added.
+ * Be sure to update the TBaseValidator::$_clientClass if new cases are added.
* @return mixed control value to validate
*/
getValidationValue : function(control)
@@ -771,11 +771,11 @@ Prado.WebUI.TBaseValidator.prototype =
if(control.type == "text")
{
value = this.trim($F(control));
-
- if(this.options.DateFormat)
+
+ if(this.options.DateFormat)
{
date = value.toDate(this.options.DateFormat);
- return date == null ? '' : date;
+ return date == null ? value : date;
}
else
return value;
@@ -1116,7 +1116,7 @@ Prado.WebUI.TRangeValidator = Class.extend(Prado.WebUI.TBaseValidator,
return true;
if(typeof(this.options.DataType) == "undefined")
this.options.DataType = "String";
-
+
if(this.options.DataType != "StringLength")
{
var min = this.convert(this.options.DataType, this.options.MinValue || null);
@@ -1129,7 +1129,7 @@ Prado.WebUI.TRangeValidator = Class.extend(Prado.WebUI.TBaseValidator,
var max = this.options.MaxValue || Number.POSITIVE_INFINITY;
value = value.length;
}
-
+
if(value == null)
return false;
@@ -1268,10 +1268,10 @@ Prado.WebUI.TDataTypeValidator = Class.extend(Prado.WebUI.TBaseValidator,
{
evaluateIsValid : function()
{
- var value = this.getValidationValue();
- if(value.length <= 0)
- return true;
- return this.convert(this.options.DataType, value) != null;
+ value = this.getValidationValue();
+ if(value.length <= 0)
+ return true;
+ return this.convert(this.options.DataType, value) != null;
}
});
diff --git a/framework/Web/Javascripts/prado/validation3.js b/framework/Web/Javascripts/prado/validation3.js
index 139f99f1..6e9dfc0a 100644
--- a/framework/Web/Javascripts/prado/validation3.js
+++ b/framework/Web/Javascripts/prado/validation3.js
@@ -756,9 +756,9 @@ Prado.WebUI.TBaseValidator.prototype =
return value;
},
- /**
+ /**
* The ControlType property comes from TBaseValidator::getClientControlClass()
- * Be sure to update the TBaseValidator::$_clientClass if new cases are added.
+ * Be sure to update the TBaseValidator::$_clientClass if new cases are added.
* @return mixed control value to validate
*/
getValidationValue : function(control)
@@ -771,11 +771,11 @@ Prado.WebUI.TBaseValidator.prototype =
if(control.type == "text")
{
value = this.trim($F(control));
-
- if(this.options.DateFormat)
+
+ if(this.options.DateFormat)
{
date = value.toDate(this.options.DateFormat);
- return date == null ? '' : date;
+ return date == null ? value : date;
}
else
return value;
@@ -1116,7 +1116,7 @@ Prado.WebUI.TRangeValidator = Class.extend(Prado.WebUI.TBaseValidator,
return true;
if(typeof(this.options.DataType) == "undefined")
this.options.DataType = "String";
-
+
if(this.options.DataType != "StringLength")
{
var min = this.convert(this.options.DataType, this.options.MinValue || null);
@@ -1129,7 +1129,7 @@ Prado.WebUI.TRangeValidator = Class.extend(Prado.WebUI.TBaseValidator,
var max = this.options.MaxValue || Number.POSITIVE_INFINITY;
value = value.length;
}
-
+
if(value == null)
return false;
@@ -1268,10 +1268,10 @@ Prado.WebUI.TDataTypeValidator = Class.extend(Prado.WebUI.TBaseValidator,
{
evaluateIsValid : function()
{
- var value = this.getValidationValue();
- if(value.length <= 0)
- return true;
- return this.convert(this.options.DataType, value) != null;
+ value = this.getValidationValue();
+ if(value.length <= 0)
+ return true;
+ return this.convert(this.options.DataType, value) != null;
}
});
diff --git a/framework/Web/UI/WebControls/TDataTypeValidator.php b/framework/Web/UI/WebControls/TDataTypeValidator.php
index 3e91ec15..ec39e8a3 100644
--- a/framework/Web/UI/WebControls/TDataTypeValidator.php
+++ b/framework/Web/UI/WebControls/TDataTypeValidator.php
@@ -91,7 +91,7 @@ class TDataTypeValidator extends TBaseValidator
{
if($value=='')
return true;
-
+
switch($this->getDataType())
{
case 'Integer':
diff --git a/framework/Web/UI/WebControls/TDatePicker.php b/framework/Web/UI/WebControls/TDatePicker.php
index 0c3e0b9a..b6daa164 100644
--- a/framework/Web/UI/WebControls/TDatePicker.php
+++ b/framework/Web/UI/WebControls/TDatePicker.php
@@ -317,14 +317,14 @@ class TDatePicker extends TTextBox
/**
* Returns the value to be validated.
* This methid is required by IValidatable interface.
- * @return integer the value of the property to be validated.
+ * @return integer the interger timestamp if valid, otherwise the original text.
*/
public function getValidationPropertyValue()
{
- if($this->getText() === '')
+ if(($text = $this->getText()) === '')
return '';
$date = $this->getTimeStamp();
- return $date == null ? '' : $date;
+ return $date == null ? $text : $date;
}
/**
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket274.page b/tests/FunctionalTests/tickets/protected/pages/Ticket274.page
index 4e1441ed..0b92cb40 100644
--- a/tests/FunctionalTests/tickets/protected/pages/Ticket274.page
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket274.page
@@ -1,14 +1,14 @@
<com:TContent ID="Content">
-<com:TDatePicker ID="MyDate"
- DateFormat="dd/MM/yyyy"
+<com:TDatePicker ID="MyDate"
+ DateFormat="dd/MM/yyyy"
Mode="ImageButton" />
<com:TRequiredFieldValidator
- ID="validator1"
+ ID="validator1"
ControlToValidate="MyDate"
EnableClientScript="false"
ErrorMessage="date required (dd/MM/yyyy)" />
-
+
<com:TDataTypeValidator
ID="validator2"
DataType="Date"
@@ -18,5 +18,5 @@
ErrorMessage="date must be of the form dd/MM/yyyy" />
<com:TButton ID="button1" Text="Submit!" />
-
+
</com:TContent> \ No newline at end of file