@@ -8,23 +8,26 @@ var parameter = new Parameter();
88var parameterWithRootValidate = new Parameter ( {
99 validateRoot : true ,
1010} ) ;
11+ var parameterWithDefaultRequiredValidate = new Parameter ( {
12+ defaultRequired : false ,
13+ } ) ;
1114
1215describe ( 'parameter' , function ( ) {
1316 describe ( 'required' , function ( ) {
1417 it ( 'should required work fine' , function ( ) {
15- var value = { int : 1 } ;
18+ var value = { } ;
1619 var rule = { int : { type : 'int' , required : true } } ;
17- parameter . validate ( rule , { } ) [ 0 ] . should . eql ( {
20+ parameter . validate ( rule , value ) [ 0 ] . should . eql ( {
1821 code : 'missing_field' ,
1922 field : 'int' ,
2023 message : 'required'
2124 } ) ;
2225 } ) ;
2326
2427 it ( 'should not required work fine' , function ( ) {
25- var value = { int : 1 } ;
28+ var value = { } ;
2629 var rule = { int : { type : 'int' , required : false } } ;
27- should . not . exist ( parameter . validate ( rule , { } ) ) ;
30+ should . not . exist ( parameter . validate ( rule , value ) ) ;
2831 } ) ;
2932
3033 it ( 'should not required check ok' , function ( ) {
@@ -727,3 +730,22 @@ describe('validate with option.validateRoot', function () {
727730 parameterWithRootValidate . validate ( rule , value ) [ 0 ] . message . should . equal ( 'the validated value should be a object' ) ; ;
728731 } ) ;
729732} ) ;
733+
734+
735+ describe ( 'validate with option.defaultNotRequired' , function ( ) {
736+ it ( 'should not required work fine' , function ( ) {
737+ var value = { } ;
738+ var rule = { int : { type : 'int' } } ;
739+ should . not . exist ( parameterWithDefaultRequiredValidate . validate ( rule , value ) ) ;
740+ } ) ;
741+
742+ it ( 'should required check ok' , function ( ) {
743+ var value = { int : 1.1 } ;
744+ var rule = { int : { type : 'int' , required : true } } ;
745+ parameterWithDefaultRequiredValidate . validate ( rule , value ) [ 0 ] . should . eql ( {
746+ code : 'invalid' ,
747+ field : 'int' ,
748+ message : 'should be an integer'
749+ } ) ;
750+ } ) ;
751+ } ) ;
0 commit comments