2

I have an input field which looks like

 <input class="inputMargin urlInputWidth" type="text" size="40" name="url" ng-model="user.customerId" maxlength="250" ng-pattern="/sftp://.+/" />

It works fine and shows validation as expected. I just wanted to move this pattern to scope of angularjs to get a much neater form. I have tried with this syntax: $scope.sftpValidate="/sftp://.+/"; and ng-pattern="sftpValidate". But this is not validating the pattern at all. i have tried to give as $scope.sftpValidate=/sftp://.+/; and $scope.sftpValidate=sftp://.+;. But these are showing syntax errors. Where am i missing?

Ed B
  • 849
  • 1
  • 7
  • 25
sms
  • 426
  • 1
  • 8
  • 23

1 Answers1

4

Please see JSBin

View:

<input class="inputMargin urlInputWidth" type="text" size="40" name="url" ng-model="user.customerId" maxlength="250" ng-pattern="regex " />

JS

$scope.regex = /sftp://.+/;

JS UPDATED BY sms:

$scope.regex = /sftp:\/\/.+/;
Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
sylwester
  • 16,498
  • 1
  • 25
  • 33
  • 1
    For the pattern given in your example its working fine. But for my pattern it is showing syntax expression. Am i missing any escape sequences? – sms Jun 19 '14 at 09:23
  • 1
    I have updated JS in your answer and marked as answer. I have just missed escape char for forward slash. "$scope.regex = /sftp:\/\/.+/;" – sms Jun 19 '14 at 09:37