Github user tbouron commented on a diff in the pull request:

    https://github.com/apache/brooklyn-ui/pull/72#discussion_r219832974
  
    --- Diff: 
ui-modules/blueprint-composer/app/components/providers/blueprint-service.provider.js
 ---
    @@ -287,8 +297,28 @@ function BlueprintService($log, $q, $sce, paletteApi, 
iconGenerator, dslService)
                                         }
                                         break;
                                     case 'regex':
    -                                    if (!entity.config.has(config.name) || 
!angular.isDefined(entity.config.get(config.name)) || !(new 
RegExp(constraint).test(entity.config.get(config.name)))) {
    -                                        message = 
`<samp>${config.name}</samp> does not match the required format: 
<samp>${config.constraints.regex}</samp>`;
    +                                    if (entity.config.has(config.name) && 
angular.isDefined(entity.config.get(config.name)) && !(new 
RegExp(args).test(entity.config.get(config.name)))) {
    +                                        message = 
`<samp>${config.name}</samp> does not match the required format: 
<samp>${args}</samp>`;
    +                                    }
    +                                    break;
    +                                case 'forbiddenIf':
    +                                    if (entity.config.get(config.name) && 
entity.config.get(args)) {
    +                                        message = 
`<samp>${config.name}</samp> cannot be set when <samp>${args}</samp> is set`;
    +                                    }
    +                                    break;
    +                                case 'forbiddenUnless':
    +                                    if (entity.config.get(config.name) && 
!entity.config.get(args)) {
    +                                        message = 
`<samp>${config.name}</samp> cannot be set unless <samp>${args}</samp> is set`;
    +                                    }
    +                                    break;
    +                                case 'requiredIf':
    +                                    if (!entity.config.get(config.name) && 
entity.config.get(args)) {
    --- End diff --
    
    Should you check for empty string here?


---

Reply via email to