File tree Expand file tree Collapse file tree 5 files changed +38
-3
lines changed Expand file tree Collapse file tree 5 files changed +38
-3
lines changed Original file line number Diff line number Diff line change 60
60
"type" : " git" ,
61
61
"url" : " git://github.com/ziccardi/json-data-validator.git"
62
62
}
63
- }
63
+ }
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import {builder as RequiredRuleBuilder} from './builders/RequiredValueBuilder';
5
5
import { builder as LengthRuleBuilder } from './builders/LengthRuleBuilder' ;
6
6
import { builder as MatchesRuleBuilder } from './builders/MatchesRuleBuilder' ;
7
7
import { builder as IsBase64Builder } from './builders/IsBase64Builder' ;
8
+ import { builder as IsValidUrlBuilder } from './builders/IsValidUrlBuilder' ;
8
9
9
10
// tslint:disable-next-line:variable-name
10
11
export const RuleBuilder = {
@@ -15,4 +16,5 @@ export const RuleBuilder = {
15
16
length : LengthRuleBuilder ,
16
17
matches : MatchesRuleBuilder . withPattern ,
17
18
isBase64 : IsBase64Builder ,
19
+ isValidUrl : IsValidUrlBuilder . isValidUrl ,
18
20
} ;
Original file line number Diff line number Diff line change 1
1
import validator from 'validator' ;
2
2
/**
3
3
* {
4
- * type: 'VALID_URL_PATH ',
4
+ * type: 'VALID_URL ',
5
5
* }
6
6
*/
7
7
import { GenericValidator } from './GenericValidator' ;
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ export interface CompositeRuleBuilderInterfaceStart {
6
6
7
7
export interface CompositeRuleBuilderInterfaceEnd {
8
8
withSubRule : ( rule : RuleConfig ) => CompositeRuleBuilderInterfaceEnd ;
9
- build : ( ) => RuleConfig ;
9
+ build : ( errorMessage ?: string ) => RuleConfig ;
10
10
}
11
11
12
12
export const builder = {
Original file line number Diff line number Diff line change
1
+ import { RuleConfig } from '../../config/RuleConfig' ;
2
+ import * as ValidUrlRule from '../ValidUrlRule' ;
3
+
4
+ export interface IsValidUrlBuilder {
5
+ requireTld ( require : boolean ) : IsValidUrlBuilder ;
6
+ requireHost ( require : boolean ) : IsValidUrlBuilder ;
7
+ requireProtocol ( require : boolean ) : IsValidUrlBuilder ;
8
+ build : ( ) => RuleConfig ;
9
+ }
10
+
11
+ export const builder = {
12
+ isValidUrl : ( ) => {
13
+ const rule : RuleConfig = { type : ValidUrlRule . NAME } ;
14
+
15
+ const returnValue : IsValidUrlBuilder = {
16
+ requireTld : ( required = true ) => {
17
+ rule . require_tld = `${ required } ` ;
18
+ return returnValue ;
19
+ } ,
20
+ requireHost : ( required = true ) => {
21
+ rule . require_host = `${ required } ` ;
22
+ return returnValue ;
23
+ } ,
24
+ requireProtocol : ( required = false ) => {
25
+ rule . require_protocol = `${ required } ` ;
26
+ return returnValue ;
27
+ } ,
28
+ build : ( ) => rule ,
29
+ } ;
30
+
31
+ return returnValue ;
32
+ } ,
33
+ } ;
You can’t perform that action at this time.
0 commit comments