User: roelofb
Date: 2008/09/08 12:59 PM
Modified:
/trunk/MonoRail/Castle.MonoRail.Framework.Tests/Helpers/Validations/
JQueryFormValidationTestCase.cs
/trunk/MonoRail/Castle.MonoRail.Framework/Helpers/ValidationStrategy/
JQueryValidator.cs
Log:
Fixed MR-ISSUE-480. Patch submitted by Gauthier Segay.
File Changes:
Directory: /trunk/MonoRail/Castle.MonoRail.Framework/Helpers/ValidationStrategy/
================================================================================
File [modified]: JQueryValidator.cs
Delta lines: +118 -21
===================================================================
---
trunk/MonoRail/Castle.MonoRail.Framework.Tests/Helpers/Validations/JQueryFormValidationTestCase.cs
2008-09-07 18:42:36 UTC (rev 5307)
+++
trunk/MonoRail/Castle.MonoRail.Framework.Tests/Helpers/Validations/JQueryFormValidationTestCase.cs
2008-09-08 19:59:18 UTC (rev 5308)
@@ -60,12 +60,18 @@
helper.TextField("model.emailfield");
// Attribute order cannot be guaranted, so this test
may fail ocasionally
- // Assert.AreEqual("<input type=\"text\"
id=\"model_nonemptyemailfield\" " +
- // "name=\"model.nonemptyemailfield\" value=\"\"
class=\"validate-email required\" " +
- // "title=\"Please enter a valid email address.
For example [EMAIL PROTECTED], This is a required field\" />",
helper.TextField("model.nonemptyemailfield"));
+ // Assert.AreEqual("<input type=""text""
id=""model_nonemptyemailfield"" " +
+ // "name=""model.nonemptyemailfield"" value=""""
class=""validate-email required"" " +
+ // "title=""Please enter a valid email address.
For example [EMAIL PROTECTED], This is a required field"" />",
helper.TextField("model.nonemptyemailfield"));
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.nonemptyfield\":{ required: true
}, \"model.emailfield\":{ email: true }}, messages:{\"model.nonemptyfield\":{
required: \"This is a required field\" }, \"model.emailfield\":{ email: \"Email
doesnt look right\" }}} );\r\njQuery.validator.addMethod('notEqualTo',
function(value, element, param) { return value != jQuery(param).val(); }, 'Must
not be equal to {0}.' );\r\njQuery.validator.addMethod('greaterThan',
function(value, element, param) { return ( IsNaN( value ) && IsNaN(
jQuery(param).val() ) ) || ( value > jQuery(param).val() ); }, 'Must be greater
than {0}.' );\r\njQuery.validator.addMethod('lesserThan', function(value,
element, param) { return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) ||
( value < jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.nonemptyfield"":{ required: true }, ""model.emailfield"":{
email: true }}, messages:{""model.nonemptyfield"":{ required: ""This is a
required field"" }, ""model.emailfield"":{ email: ""Email doesnt look right""
}}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -79,14 +85,20 @@
helper.TextField("emailfield");
// Attribute order cannot be guaranted, so this test
may fail ocasionally
- // Assert.AreEqual("<input type=\"text\"
id=\"model_nonemptyemailfield\" " +
- // "name=\"model.nonemptyemailfield\" value=\"\"
class=\"validate-email required\" " +
- // "title=\"Please enter a valid email address.
For example [EMAIL PROTECTED], This is a required field\" />",
helper.TextField("nonemptyemailfield"));
+ // Assert.AreEqual("<input type=""text""
id=""model_nonemptyemailfield"" " +
+ // "name=""model.nonemptyemailfield"" value=""""
class=""validate-email required"" " +
+ // "title=""Please enter a valid email address.
For example [EMAIL PROTECTED], This is a required field"" />",
helper.TextField("nonemptyemailfield"));
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.nonemptyfield\":{ required: true
}, \"model.emailfield\":{ email: true }}, messages:{\"model.nonemptyfield\":{
required: \"This is a required field\" }, \"model.emailfield\":{ email: \"Email
doesnt look right\" }}} );\r\njQuery.validator.addMethod('notEqualTo',
function(value, element, param) { return value != jQuery(param).val(); }, 'Must
not be equal to {0}.' );\r\njQuery.validator.addMethod('greaterThan',
function(value, element, param) { return ( IsNaN( value ) && IsNaN(
jQuery(param).val() ) ) || ( value > jQuery(param).val() ); }, 'Must be greater
than {0}.' );\r\njQuery.validator.addMethod('lesserThan', function(value,
element, param) { return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) ||
( value < jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.nonemptyfield"":{ required: true }, ""model.emailfield"":{
email: true }}, messages:{""model.nonemptyfield"":{ required: ""This is a
required field"" }, ""model.emailfield"":{ email: ""Email doesnt look right""
}}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -102,7 +114,13 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.EmailField\":{ email: true },
\"model.ConfirmedEmailField\":{ equalTo: \"#model_EmailField\" }},
messages:{\"model.EmailField\":{ email: \"Email doesnt look right\" },
\"model.ConfirmedEmailField\":{ equalTo: \"Fields do not match\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.EmailField"":{ email: true }, ""model.ConfirmedEmailField"":{
equalTo: ""#model_EmailField"" }}, messages:{""model.EmailField"":{ email:
""Email doesnt look right"" }, ""model.ConfirmedEmailField"":{ equalTo:
""Fields do not match"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -118,7 +136,13 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.FirstValue\":{ digits: true },
\"model.SecondValue\":{ lesserThan: \"#model_FirstValue\" }},
messages:{\"model.FirstValue\":{ digits: \"Please enter a valid integer in this
field\" }, \"model.SecondValue\":{ lesserThan: \"This field value must be
lesser than the other field value.\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.FirstValue"":{ digits: true }, ""model.SecondValue"":{
lesserThan: ""#model_FirstValue"" }}, messages:{""model.FirstValue"":{ digits:
""Please enter a valid integer in this field"" }, ""model.SecondValue"":{
lesserThan: ""This field value must be lesser than the other field value."" }}}
);
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -134,7 +158,13 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.ThirdValue\":{ digits: true },
\"model.ForthValue\":{ greaterThan: \"#model_ThirdValue\" }},
messages:{\"model.ThirdValue\":{ digits: \"Please enter a valid integer in this
field\" }, \"model.ForthValue\":{ greaterThan: \"This field value must be
greater than the other field value.\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.ThirdValue"":{ digits: true }, ""model.ForthValue"":{
greaterThan: ""#model_ThirdValue"" }}, messages:{""model.ThirdValue"":{ digits:
""Please enter a valid integer in this field"" }, ""model.ForthValue"":{
greaterThan: ""This field value must be greater than the other field value.""
}}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -152,7 +182,17 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {groups:{mygroup1: \"model.GroupValue1
model.GroupValue2 \",\r\nmygroup2: \"model.GroupValue3 model.GroupValue4
\",\r\n}, rules:{\"model.GroupValue1\":{ requiredmygroup1: true },
\"model.GroupValue2\":{ requiredmygroup1: true }, \"model.GroupValue3\":{
requiredmygroup2: true }, \"model.GroupValue4\":{ requiredmygroup2: true }},
messages:{\"model.GroupValue1\":{ requiredmygroup1: \"At least one of the
values should not be empty\" }, \"model.GroupValue2\":{ requiredmygroup1: \"At
least one of the values should not be empty\" }, \"model.GroupValue3\":{
requiredmygroup2: \"At least one of the values should not be empty\" },
\"model.GroupValue4\":{ requiredmygroup2: \"At least one of the values should
not be empty\" }}} );\r\njQuery.validator.addMethod('notEqualTo',
function(value, element, param) { return value != jQuery(param).val(); }, 'Must
not be equal to {0}.' );\r\njQuery.validator.addMethod('greaterThan',
function(value, element, param) { return ( IsNaN( value ) && IsNaN(
jQuery(param).val() ) ) || ( value > jQuery(param).val() ); }, 'Must be greater
than {0}.' );\r\njQuery.validator.addMethod('lesserThan', function(value,
element, param) { return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) ||
( value < jQuery(param).val() ); }, 'Must be lesser than {0}.'
);\r\njQuery.validator.addMethod('mygroup1', function() {
if($(\"#model_GroupValue1\").val()!='' || $(\"#model_GroupValue2\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addMethod('mygroup2', function() {
if($(\"#model_GroupValue3\").val()!='' || $(\"#model_GroupValue4\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addClassRules({requiredmygroup1:
{mygroup1:true}});\r\njQuery.validator.addClassRules({requiredmygroup2:
{mygroup2:true}}); });</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{groups:{mygroup1: ""model.GroupValue1 model.GroupValue2 "", mygroup2:
""model.GroupValue3 model.GroupValue4 ""}, rules:{""model.GroupValue1"":{
requiredmygroup1: true }, ""model.GroupValue2"":{ requiredmygroup1: true },
""model.GroupValue3"":{ requiredmygroup2: true }, ""model.GroupValue4"":{
requiredmygroup2: true }}, messages:{""model.GroupValue1"":{ requiredmygroup1:
""At least one of the values should not be empty"" }, ""model.GroupValue2"":{
requiredmygroup1: ""At least one of the values should not be empty"" },
""model.GroupValue3"":{ requiredmygroup2: ""At least one of the values should
not be empty"" }, ""model.GroupValue4"":{ requiredmygroup2: ""At least one of
the values should not be empty"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
+jQuery.validator.addMethod('mygroup1', function() {
if($(""#model_GroupValue1"").val()!='' || $(""#model_GroupValue2"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addMethod('mygroup2', function() {
if($(""#model_GroupValue3"").val()!='' || $(""#model_GroupValue4"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addClassRules({requiredmygroup1: {mygroup1:true}});
+jQuery.validator.addClassRules({requiredmygroup2: {mygroup2:true}});
});</script>
+</form>",
helper.EndFormTag());
}
@@ -166,7 +206,13 @@
new string[] {"Sao Paulo", "Sao Carlos"},
DictHelper.Create("firstoption=---"));
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.city\":{ required: true }},
messages:{\"model.city\":{ required: \"This is a required field\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.city"":{ required: true }}, messages:{""model.city"":{
required: ""This is a required field"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -179,7 +225,13 @@
new string[] {"1", "2"},
DictHelper.Create("firstoption=---"));
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {rules:{\"model.city.id\":{ required: true }},
messages:{\"model.city.id\":{ required: \"This is a required field\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{rules:{""model.city.id"":{ required: true }}, messages:{""model.city.id"":{
required: ""This is a required field"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -206,7 +258,17 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {groups:{mygroup1: \"model.GroupValue1
model.GroupValue2 \",\r\nmygroup2: \"model.GroupValue3 model.GroupValue4
\",\r\n}, rules:{\"model.NonEmptyField\":{ required: true },
\"model.EmailField\":{ email: true }, \"model.NonEmptyEmailField\":{ required:
true , email: true }, \"model.FirstValue\":{ digits: true },
\"model.SecondValue\":{ lesserThan: \"#model_FirstValue\" },
\"model.ThirdValue\":{ digits: true }, \"model.ForthValue\":{ greaterThan:
\"#model_ThirdValue\" }, \"model.GroupValue1\":{ requiredmygroup1: true },
\"model.GroupValue2\":{ requiredmygroup1: true }, \"model.GroupValue3\":{
requiredmygroup2: true }, \"model.GroupValue4\":{ requiredmygroup2: true },
\"model.City\":{ required: true }, \"model.Country.Id\":{ required: true }},
messages:{\"model.NonEmptyField\":{ required: \"This is a required field\" },
\"model.EmailField\":{ email: \"Email doesnt look right\" },
\"model.NonEmptyEmailField\":{ required: \"This is a required field\" , email:
\"Please enter a valid email address. For example [EMAIL PROTECTED]" },
\"model.FirstValue\":{ digits: \"Please enter a valid integer in this field\"
}, \"model.SecondValue\":{ lesserThan: \"This field value must be lesser than
the other field value.\" }, \"model.ThirdValue\":{ digits: \"Please enter a
valid integer in this field\" }, \"model.ForthValue\":{ greaterThan: \"This
field value must be greater than the other field value.\" },
\"model.GroupValue1\":{ requiredmygroup1: \"At least one of the values should
not be empty\" }, \"model.GroupValue2\":{ requiredmygroup1: \"At least one of
the values should not be empty\" }, \"model.GroupValue3\":{ requiredmygroup2:
\"At least one of the values should not be empty\" }, \"model.GroupValue4\":{
requiredmygroup2: \"At least one of the values should not be empty\" },
\"model.City\":{ required: \"This is a required field\" },
\"model.Country.Id\":{ required: \"This is a required field\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.'
);\r\njQuery.validator.addMethod('mygroup1', function() {
if($(\"#model_GroupValue1\").val()!='' || $(\"#model_GroupValue2\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addMethod('mygroup2', function() {
if($(\"#model_GroupValue3\").val()!='' || $(\"#model_GroupValue4\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addClassRules({requiredmygroup1:
{mygroup1:true}});\r\njQuery.validator.addClassRules({requiredmygroup2:
{mygroup2:true}}); });</script>\r\n</form>"
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{groups:{mygroup1: ""model.GroupValue1 model.GroupValue2 "", mygroup2:
""model.GroupValue3 model.GroupValue4 ""}, rules:{""model.NonEmptyField"":{
required: true }, ""model.EmailField"":{ email: true },
""model.NonEmptyEmailField"":{ required: true , email: true },
""model.FirstValue"":{ digits: true }, ""model.SecondValue"":{ lesserThan:
""#model_FirstValue"" }, ""model.ThirdValue"":{ digits: true },
""model.ForthValue"":{ greaterThan: ""#model_ThirdValue"" },
""model.GroupValue1"":{ requiredmygroup1: true }, ""model.GroupValue2"":{
requiredmygroup1: true }, ""model.GroupValue3"":{ requiredmygroup2: true },
""model.GroupValue4"":{ requiredmygroup2: true }, ""model.City"":{ required:
true }, ""model.Country.Id"":{ required: true }},
messages:{""model.NonEmptyField"":{ required: ""This is a required field"" },
""model.EmailField"":{ email: ""Email doesnt look right"" },
""model.NonEmptyEmailField"":{ required: ""This is a required field"" , email:
""Please enter a valid email address. For example [EMAIL PROTECTED]"" },
""model.FirstValue"":{ digits: ""Please enter a valid integer in this field""
}, ""model.SecondValue"":{ lesserThan: ""This field value must be lesser than
the other field value."" }, ""model.ThirdValue"":{ digits: ""Please enter a
valid integer in this field"" }, ""model.ForthValue"":{ greaterThan: ""This
field value must be greater than the other field value."" },
""model.GroupValue1"":{ requiredmygroup1: ""At least one of the values should
not be empty"" }, ""model.GroupValue2"":{ requiredmygroup1: ""At least one of
the values should not be empty"" }, ""model.GroupValue3"":{ requiredmygroup2:
""At least one of the values should not be empty"" }, ""model.GroupValue4"":{
requiredmygroup2: ""At least one of the values should not be empty"" },
""model.City"":{ required: ""This is a required field"" },
""model.Country.Id"":{ required: ""This is a required field"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
+jQuery.validator.addMethod('mygroup1', function() {
if($(""#model_GroupValue1"").val()!='' || $(""#model_GroupValue2"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addMethod('mygroup2', function() {
if($(""#model_GroupValue3"").val()!='' || $(""#model_GroupValue4"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addClassRules({requiredmygroup1: {mygroup1:true}});
+jQuery.validator.addClassRules({requiredmygroup2: {mygroup2:true}});
});</script>
+</form>"
, helper.EndFormTag());
}
@@ -233,7 +295,17 @@
helper.Pop();
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {groups:{mygroup1: \"model.groupvalue1
model.groupvalue2 \",\r\nmygroup2: \"model.groupvalue3 model.groupvalue4
\",\r\n}, rules:{\"model.nonemptyfield\":{ required: true },
\"model.emailfield\":{ email: true }, \"model.nonemptyemailfield\":{ required:
true , email: true }, \"model.firstvalue\":{ digits: true },
\"model.secondvalue\":{ lesserThan: \"#model_FirstValue\" },
\"model.thirdvalue\":{ digits: true }, \"model.forthvalue\":{ greaterThan:
\"#model_ThirdValue\" }, \"model.groupvalue1\":{ requiredmygroup1: true },
\"model.groupvalue2\":{ requiredmygroup1: true }, \"model.groupvalue3\":{
requiredmygroup2: true }, \"model.groupvalue4\":{ requiredmygroup2: true },
\"model.city\":{ required: true }, \"model.country.id\":{ required: true }},
messages:{\"model.nonemptyfield\":{ required: \"This is a required field\" },
\"model.emailfield\":{ email: \"Email doesnt look right\" },
\"model.nonemptyemailfield\":{ required: \"This is a required field\" , email:
\"Please enter a valid email address. For example [EMAIL PROTECTED]" },
\"model.firstvalue\":{ digits: \"Please enter a valid integer in this field\"
}, \"model.secondvalue\":{ lesserThan: \"This field value must be lesser than
the other field value.\" }, \"model.thirdvalue\":{ digits: \"Please enter a
valid integer in this field\" }, \"model.forthvalue\":{ greaterThan: \"This
field value must be greater than the other field value.\" },
\"model.groupvalue1\":{ requiredmygroup1: \"At least one of the values should
not be empty\" }, \"model.groupvalue2\":{ requiredmygroup1: \"At least one of
the values should not be empty\" }, \"model.groupvalue3\":{ requiredmygroup2:
\"At least one of the values should not be empty\" }, \"model.groupvalue4\":{
requiredmygroup2: \"At least one of the values should not be empty\" },
\"model.city\":{ required: \"This is a required field\" },
\"model.country.id\":{ required: \"This is a required field\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.'
);\r\njQuery.validator.addMethod('mygroup1', function() {
if($(\"#model_groupvalue1\").val()!='' || $(\"#model_groupvalue2\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addMethod('mygroup2', function() {
if($(\"#model_groupvalue3\").val()!='' || $(\"#model_groupvalue4\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addClassRules({requiredmygroup1:
{mygroup1:true}});\r\njQuery.validator.addClassRules({requiredmygroup2:
{mygroup2:true}}); });</script>\r\n</form>"
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{groups:{mygroup1: ""model.groupvalue1 model.groupvalue2 "", mygroup2:
""model.groupvalue3 model.groupvalue4 ""}, rules:{""model.nonemptyfield"":{
required: true }, ""model.emailfield"":{ email: true },
""model.nonemptyemailfield"":{ required: true , email: true },
""model.firstvalue"":{ digits: true }, ""model.secondvalue"":{ lesserThan:
""#model_FirstValue"" }, ""model.thirdvalue"":{ digits: true },
""model.forthvalue"":{ greaterThan: ""#model_ThirdValue"" },
""model.groupvalue1"":{ requiredmygroup1: true }, ""model.groupvalue2"":{
requiredmygroup1: true }, ""model.groupvalue3"":{ requiredmygroup2: true },
""model.groupvalue4"":{ requiredmygroup2: true }, ""model.city"":{ required:
true }, ""model.country.id"":{ required: true }},
messages:{""model.nonemptyfield"":{ required: ""This is a required field"" },
""model.emailfield"":{ email: ""Email doesnt look right"" },
""model.nonemptyemailfield"":{ required: ""This is a required field"" , email:
""Please enter a valid email address. For example [EMAIL PROTECTED]"" },
""model.firstvalue"":{ digits: ""Please enter a valid integer in this field""
}, ""model.secondvalue"":{ lesserThan: ""This field value must be lesser than
the other field value."" }, ""model.thirdvalue"":{ digits: ""Please enter a
valid integer in this field"" }, ""model.forthvalue"":{ greaterThan: ""This
field value must be greater than the other field value."" },
""model.groupvalue1"":{ requiredmygroup1: ""At least one of the values should
not be empty"" }, ""model.groupvalue2"":{ requiredmygroup1: ""At least one of
the values should not be empty"" }, ""model.groupvalue3"":{ requiredmygroup2:
""At least one of the values should not be empty"" }, ""model.groupvalue4"":{
requiredmygroup2: ""At least one of the values should not be empty"" },
""model.city"":{ required: ""This is a required field"" },
""model.country.id"":{ required: ""This is a required field"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
+jQuery.validator.addMethod('mygroup1', function() {
if($(""#model_groupvalue1"").val()!='' || $(""#model_groupvalue2"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addMethod('mygroup2', function() {
if($(""#model_groupvalue3"").val()!='' || $(""#model_groupvalue4"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addClassRules({requiredmygroup1: {mygroup1:true}});
+jQuery.validator.addClassRules({requiredmygroup2: {mygroup2:true}});
});</script>
+</form>"
, helper.EndFormTag());
}
@@ -257,7 +329,17 @@
helper.Select("model.country.id", new string[] {"1",
"2"}, DictHelper.Create("firstoption=---"));
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {groups:{mygroup1: \"model.groupvalue1
model.groupvalue2 \",\r\nmygroup2: \"model.groupvalue3 model.groupvalue4
\",\r\n}, rules:{\"model.nonemptyfield\":{ required: true },
\"model.emailfield\":{ email: true }, \"model.nonemptyemailfield\":{ required:
true , email: true }, \"model.firstvalue\":{ digits: true },
\"model.secondvalue\":{ lesserThan: \"#model_FirstValue\" },
\"model.thirdvalue\":{ digits: true }, \"model.forthvalue\":{ greaterThan:
\"#model_ThirdValue\" }, \"model.groupvalue1\":{ requiredmygroup1: true },
\"model.groupvalue2\":{ requiredmygroup1: true }, \"model.groupvalue3\":{
requiredmygroup2: true }, \"model.groupvalue4\":{ requiredmygroup2: true },
\"model.city\":{ required: true }, \"model.country.id\":{ required: true }},
messages:{\"model.nonemptyfield\":{ required: \"This is a required field\" },
\"model.emailfield\":{ email: \"Email doesnt look right\" },
\"model.nonemptyemailfield\":{ required: \"This is a required field\" , email:
\"Please enter a valid email address. For example [EMAIL PROTECTED]" },
\"model.firstvalue\":{ digits: \"Please enter a valid integer in this field\"
}, \"model.secondvalue\":{ lesserThan: \"This field value must be lesser than
the other field value.\" }, \"model.thirdvalue\":{ digits: \"Please enter a
valid integer in this field\" }, \"model.forthvalue\":{ greaterThan: \"This
field value must be greater than the other field value.\" },
\"model.groupvalue1\":{ requiredmygroup1: \"At least one of the values should
not be empty\" }, \"model.groupvalue2\":{ requiredmygroup1: \"At least one of
the values should not be empty\" }, \"model.groupvalue3\":{ requiredmygroup2:
\"At least one of the values should not be empty\" }, \"model.groupvalue4\":{
requiredmygroup2: \"At least one of the values should not be empty\" },
\"model.city\":{ required: \"This is a required field\" },
\"model.country.id\":{ required: \"This is a required field\" }}}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.'
);\r\njQuery.validator.addMethod('mygroup1', function() {
if($(\"#model_groupvalue1\").val()!='' || $(\"#model_groupvalue2\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addMethod('mygroup2', function() {
if($(\"#model_groupvalue3\").val()!='' || $(\"#model_groupvalue4\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addClassRules({requiredmygroup1:
{mygroup1:true}});\r\njQuery.validator.addClassRules({requiredmygroup2:
{mygroup2:true}}); });</script>\r\n</form>"
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{groups:{mygroup1: ""model.groupvalue1 model.groupvalue2 "", mygroup2:
""model.groupvalue3 model.groupvalue4 ""}, rules:{""model.nonemptyfield"":{
required: true }, ""model.emailfield"":{ email: true },
""model.nonemptyemailfield"":{ required: true , email: true },
""model.firstvalue"":{ digits: true }, ""model.secondvalue"":{ lesserThan:
""#model_FirstValue"" }, ""model.thirdvalue"":{ digits: true },
""model.forthvalue"":{ greaterThan: ""#model_ThirdValue"" },
""model.groupvalue1"":{ requiredmygroup1: true }, ""model.groupvalue2"":{
requiredmygroup1: true }, ""model.groupvalue3"":{ requiredmygroup2: true },
""model.groupvalue4"":{ requiredmygroup2: true }, ""model.city"":{ required:
true }, ""model.country.id"":{ required: true }},
messages:{""model.nonemptyfield"":{ required: ""This is a required field"" },
""model.emailfield"":{ email: ""Email doesnt look right"" },
""model.nonemptyemailfield"":{ required: ""This is a required field"" , email:
""Please enter a valid email address. For example [EMAIL PROTECTED]"" },
""model.firstvalue"":{ digits: ""Please enter a valid integer in this field""
}, ""model.secondvalue"":{ lesserThan: ""This field value must be lesser than
the other field value."" }, ""model.thirdvalue"":{ digits: ""Please enter a
valid integer in this field"" }, ""model.forthvalue"":{ greaterThan: ""This
field value must be greater than the other field value."" },
""model.groupvalue1"":{ requiredmygroup1: ""At least one of the values should
not be empty"" }, ""model.groupvalue2"":{ requiredmygroup1: ""At least one of
the values should not be empty"" }, ""model.groupvalue3"":{ requiredmygroup2:
""At least one of the values should not be empty"" }, ""model.groupvalue4"":{
requiredmygroup2: ""At least one of the values should not be empty"" },
""model.city"":{ required: ""This is a required field"" },
""model.country.id"":{ required: ""This is a required field"" }}} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
+jQuery.validator.addMethod('mygroup1', function() {
if($(""#model_groupvalue1"").val()!='' || $(""#model_groupvalue2"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addMethod('mygroup2', function() {
if($(""#model_groupvalue3"").val()!='' || $(""#model_groupvalue4"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addClassRules({requiredmygroup1: {mygroup1:true}});
+jQuery.validator.addClassRules({requiredmygroup2: {mygroup2:true}});
});</script>
+</form>"
, helper.EndFormTag());
}
@@ -267,7 +349,13 @@
helper.FormTag(DictHelper.CreateN("isAjax",
true).N("noaction", true));
Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {submitHandler:function( form ) { jQuery( form
).ajaxSubmit(); }} );\r\njQuery.validator.addMethod('notEqualTo',
function(value, element, param) { return value != jQuery(param).val(); }, 'Must
not be equal to {0}.' );\r\njQuery.validator.addMethod('greaterThan',
function(value, element, param) { return ( IsNaN( value ) && IsNaN(
jQuery(param).val() ) ) || ( value > jQuery(param).val() ); }, 'Must be greater
than {0}.' );\r\njQuery.validator.addMethod('lesserThan', function(value,
element, param) { return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) ||
( value < jQuery(param).val() ); }, 'Must be lesser than {0}.' );
});</script>\r\n</form>",
+ @"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{submitHandler:function( form ) { jQuery( form ).ajaxSubmit(); }} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' ); });</script>
+</form>",
helper.EndFormTag());
}
@@ -293,9 +381,18 @@
helper.Pop();
- Assert.AreEqual(
- "\r\n<script
type=\"text/javascript\">\r\njQuery( document ).ready( function() {
jQuery(\"#form1\").validate( {messages:{\"model.NonEmptyField\":{ required:
\"This is a required field\" }, \"model.EmailField\":{ email: \"Email doesnt
look right\" }, \"model.NonEmptyEmailField\":{ required: \"This is a required
field\" , email: \"Please enter a valid email address. For example [EMAIL
PROTECTED]" }, \"model.FirstValue\":{ digits: \"Please enter a valid integer in
this field\" }, \"model.SecondValue\":{ lesserThan: \"This field value must be
lesser than the other field value.\" }, \"model.ThirdValue\":{ digits: \"Please
enter a valid integer in this field\" }, \"model.ForthValue\":{ greaterThan:
\"This field value must be greater than the other field value.\" },
\"model.GroupValue1\":{ requiredmygroup1: \"At least one of the values should
not be empty\" }, \"model.GroupValue2\":{ requiredmygroup1: \"At least one of
the values should not be empty\" }, \"model.GroupValue3\":{ requiredmygroup2:
\"At least one of the values should not be empty\" }, \"model.GroupValue4\":{
requiredmygroup2: \"At least one of the values should not be empty\" },
\"model.City\":{ required: \"This is a required field\" },
\"model.Country.Id\":{ required: \"This is a required field\" }},
groups:{mygroup1: \"model.GroupValue1 model.GroupValue2 \",\r\nmygroup2:
\"model.GroupValue3 model.GroupValue4 \",\r\n},
rules:{\"model.NonEmptyField\":{ required: true }, \"model.EmailField\":{
email: true }, \"model.NonEmptyEmailField\":{ required: true , email: true },
\"model.FirstValue\":{ digits: true }, \"model.SecondValue\":{ lesserThan:
\"#model_FirstValue\" }, \"model.ThirdValue\":{ digits: true },
\"model.ForthValue\":{ greaterThan: \"#model_ThirdValue\" },
\"model.GroupValue1\":{ requiredmygroup1: true }, \"model.GroupValue2\":{
requiredmygroup1: true }, \"model.GroupValue3\":{ requiredmygroup2: true },
\"model.GroupValue4\":{ requiredmygroup2: true }, \"model.City\":{ required:
true }, \"model.Country.Id\":{ required: true }}, submitHandler:function( form
) { jQuery( form ).ajaxSubmit(); }}
);\r\njQuery.validator.addMethod('notEqualTo', function(value, element, param)
{ return value != jQuery(param).val(); }, 'Must not be equal to {0}.'
);\r\njQuery.validator.addMethod('greaterThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.'
);\r\njQuery.validator.addMethod('lesserThan', function(value, element, param)
{ return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.'
);\r\njQuery.validator.addMethod('mygroup1', function() {
if($(\"#model_GroupValue1\").val()!='' || $(\"#model_GroupValue2\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addMethod('mygroup2', function() {
if($(\"#model_GroupValue3\").val()!='' || $(\"#model_GroupValue4\").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );\r\njQuery.validator.addClassRules({requiredmygroup1:
{mygroup1:true}});\r\njQuery.validator.addClassRules({requiredmygroup2:
{mygroup2:true}}); });</script>\r\n</form>",
+ Assert.AreEqual(@"
+<script type=""text/javascript"">
+jQuery( document ).ready( function() { jQuery(""#form1"").validate(
{messages:{""model.NonEmptyField"":{ required: ""This is a required field"" },
""model.EmailField"":{ email: ""Email doesnt look right"" },
""model.NonEmptyEmailField"":{ required: ""This is a required field"" , email:
""Please enter a valid email address. For example [EMAIL PROTECTED]"" },
""model.FirstValue"":{ digits: ""Please enter a valid integer in this field""
}, ""model.SecondValue"":{ lesserThan: ""This field value must be lesser than
the other field value."" }, ""model.ThirdValue"":{ digits: ""Please enter a
valid integer in this field"" }, ""model.ForthValue"":{ greaterThan: ""This
field value must be greater than the other field value."" },
""model.GroupValue1"":{ requiredmygroup1: ""At least one of the values should
not be empty"" }, ""model.GroupValue2"":{ requiredmygroup1: ""At least one of
the values should not be empty"" }, ""model.GroupValue3"":{ requiredmygroup2:
""At least one of the values should not be empty"" }, ""model.GroupValue4"":{
requiredmygroup2: ""At least one of the values should not be empty"" },
""model.City"":{ required: ""This is a required field"" },
""model.Country.Id"":{ required: ""This is a required field"" }},
groups:{mygroup1: ""model.GroupValue1 model.GroupValue2 "", mygroup2:
""model.GroupValue3 model.GroupValue4 ""}, rules:{""model.NonEmptyField"":{
required: true }, ""model.EmailField"":{ email: true },
""model.NonEmptyEmailField"":{ required: true , email: true },
""model.FirstValue"":{ digits: true }, ""model.SecondValue"":{ lesserThan:
""#model_FirstValue"" }, ""model.ThirdValue"":{ digits: true },
""model.ForthValue"":{ greaterThan: ""#model_ThirdValue"" },
""model.GroupValue1"":{ requiredmygroup1: true }, ""model.GroupValue2"":{
requiredmygroup1: true }, ""model.GroupValue3"":{ requiredmygroup2: true },
""model.GroupValue4"":{ requiredmygroup2: true }, ""model.City"":{ required:
true }, ""model.Country.Id"":{ required: true }}, submitHandler:function( form
) { jQuery( form ).ajaxSubmit(); }} );
+jQuery.validator.addMethod('notEqualTo', function(value, element, param) {
return value != jQuery(param).val(); }, 'Must not be equal to {0}.' );
+jQuery.validator.addMethod('greaterThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value >
jQuery(param).val() ); }, 'Must be greater than {0}.' );
+jQuery.validator.addMethod('lesserThan', function(value, element, param) {
return ( IsNaN( value ) && IsNaN( jQuery(param).val() ) ) || ( value <
jQuery(param).val() ); }, 'Must be lesser than {0}.' );
+jQuery.validator.addMethod('mygroup1', function() {
if($(""#model_GroupValue1"").val()!='' || $(""#model_GroupValue2"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addMethod('mygroup2', function() {
if($(""#model_GroupValue3"").val()!='' || $(""#model_GroupValue4"").val()!='')
{ return true } else { return false; } }, 'At least one of the values should
not be empty' );
+jQuery.validator.addClassRules({requiredmygroup1: {mygroup1:true}});
+jQuery.validator.addClassRules({requiredmygroup2: {mygroup2:true}});
});</script>
+</form>",
helper.EndFormTag());
- }
}
+ }
Directory: /trunk/MonoRail/Castle.MonoRail.Framework.Tests/Helpers/Validations/
===============================================================================
File [modified]: JQueryFormValidationTestCase.cs
Delta lines: +0 -0
===================================================================
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/castle-project-commits?hl=en
-~----------~----~----~----~------~----~------~--~---