Ich lerne im Detail über angularJs Richtlinie. Momentan verwende ich es, um den Benutzer einzuschränken, keine Sonderzeichen einzugeben.Customizing-Anweisung, um den Benutzer auf die Eingabe von Sonderzeichen zu beschränken: Winkel Js
hier ist der Code
HTML
<input type="text" no-special-char ng-model="vm.customTag" class="form-control" value="" />
AngularJS Richtlinie
app.directive('noSpecialChar', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function (scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function (inputValue) {
if (inputValue == null)
return ''
cleanInputValue = inputValue.replace(/[^\w\s]/gi, '');
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
hier sind zwei Dinge, die ich
(1) uns wollen er kann minus/dash '-'
eingeben, das gerade nicht passiert, wie kann ich meine /[^\w\s]/gi
ändern, die dem Benutzer erlauben, - (Strich/minus) Zeichen auch einzugeben.
(2) Die obige Funktionalität beschränkt den Benutzer nur auf die Eingabe eines Sonderzeichens, aber wenn der Benutzer ein Sonderzeichen eingibt, möchte ich auch einen roten Alarm anzeigen "Sonderzeichen sind nicht erlaubt", wie kann ich TU das ??
Jede Hilfe wird geschätzt !!!
Dank
aber der Ersetzungscode sollte alle Sonderzeichen entfernen .. erklären Sie über die Zeichen, die unter speziellen Zeichen kommt. –
Ich möchte nicht, dass der Benutzer ~! @ # $%^& *() {} []?/+ =, * 'Eingibt, es sollte alphanumerisch + minus (-) + _ (Unterstrich) sein, erlaubt – shreyansh
Sehen Sie sich die eckige Formularvalidierung an. Ich würde empfehlen, die Eingabe als ungültig zu markieren und die Formularvalidierung mit der Anzeige des Fehlers zu beauftragen. Außerdem würde ich nicht empfehlen, das zu ändern, was der Benutzer eingibt, es ist besser, ihnen zu sagen, dass sie etwas falsch machen, anstatt das, was sie tun, auf magische Weise zu verändern. –