Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function restrict($parse) {
- var inputTypes = {
- textNumber: '[^A-Za-z0-9 _-ñÑáéíóúÁÉÍÓÚ]',
- text: '[^A-Za-z ñÑáéíóúÁÉÍÓÚ]',
- number: '[^0-9]',
- email: '[^A-Za-z.@]',
- basicTextNumber: '[^A-Za-z0-9_-]'
- };
- var link = function($scope, $element, $attrs) {
- var exp = inputTypes[$attrs.restrict] || $attrs.restrict;
- $scope.$watch($attrs.ngModel, function(value) {
- if (!value) {
- return;
- }
- if (typeof value === 'number') { // eslint-disable-line
- value = String(value);
- }
- $parse($attrs.ngModel).assign($scope, value.replace(new RegExp(exp, 'g'), ''));
- });
- };
- return {
- restrict: 'A',
- require: 'ngModel',
- link: link
- };
- <div class="row">
- <div class="input-field col s6">
- <input class="validate" type="text" name="nombre" ng-model="vm.users.nombre" ng-minlength="2" restrict="text" maxlength=40 data-length=40 required autocomplete="off">
- <label ng-class="active" for="nombre">Nombre</label>
- <div role="alert" style="color:maroon" ng-show="!registro.nombre.$pristine">
- <span class="error" ng-show="registro.nombre.$error.required">
- Requerido</span>
- <span class="error" ng-show="registro.nombre.$error.minlength">
- Minimo 2 caracteres</span>
- </div>
- </div>
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement