Как исправить нг-шаблон в угловых

0

У меня есть это текстовое поле, и оно будет красным до тех пор, пока пользователь не введет все 5 символов, но затем должен быть зеленым, но я получу зеленый цвет, когда пользователь вводит первый символ, и его даже не нужно быть номером... так как я могу это исправить?

    @Html.TextBoxFor(m => m.ZipCode, new { id = "zip", @class = "form-control", @maxlength = "5", @required = "required", ng_model = "zipCode", ng_pattern = @"^[0-9]{5}$" })

и стиль

.ng-invalid {
    background-color:#FF8080;

}
.ng-valid {
    background-color:#ADEBAD;
}
Теги:

2 ответа

0

Ваш диапазон должен иметь запятую.

ng_pattern = @"^[0-9]{5,5}$"

Я бы предложил, что сказал Alpha G33k, и использовать сокращенную цифру, так как это делает ее более читаемой.

ng_pattern = @"^\d{5,}$"

И если вам нужно 5 и всего 5 символов, ваш шаблон должен быть следующим:

ng_pattern = @"^\d{5,5}$"
  • 0
    когда я использую это работает, только если я начинаю с цифр, но если я начинаю с букв, тогда мне нужно больше, чем 5 символов
  • 0
    Можете ли вы описать точный шаблон, который вы ищете? Например, вам нужно иметь слово, которое может содержать или начинаться с буквенных символов, но заканчивается 5 цифрами?
Показать ещё 2 комментария
0

Я изменил ваш шаблон так, чтобы он читался следующим образом: /^(\w{1,5})$/

\w является коротким для всех буквенно-цифровых символов, а привязки заставляют шаблон соответствовать целым входам.

Мой JS выглядит так:

    var App = angular.module('App',[]).controller('Ctrl', Ctrl);

    function Ctrl($scope){
      $scope.noLetters5LengthRegex = /^\d{1,5}$/;
    }

Моя разметка:

<div ng-app="App">
  <div ng-controller="Ctrl">
    <input type="text" ng-model="something" ng-pattern="noLetters5LengthRegex"
   required/>
  </div>
</div>

Примечание. Вы можете взять шаблон из функции контроллера и поместить его в представление прямо, если хотите, его одно и то же, только вопрос того, где вы хотите его больше.

Вот вам рабочая демонстрация:

ОБНОВЛЕНО ПО ЗАПРОСУ

http://codepen.io/nicholasabrams/pen/QbaxrE

  • 0
    я попробовал ваш шаблон, но мне нужно ввести больше 5, чтобы получить правильный шаблон
  • 0
    Работая здесь хорошо для меня, введите 1 2 3 4 5, если вы введете 1 2 3 4 5 a или 1 1 2 3 4 5, это не будет работать, если вы введете 1 2 3 4, это не будет работать. должно быть 5 цифр, без исключений. Подскажите пожалуйста как не работает
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню