Skip to content

Commit b84757f

Browse files
committed
added a check for input of type=number
1 parent 1d4e1e4 commit b84757f

File tree

4 files changed

+52
-41
lines changed

4 files changed

+52
-41
lines changed

angular-validation.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,15 @@
317317
// run the validate method on the event
318318
// update the validation on both the field & form element
319319
elm.unbind('keyup').unbind(evnt).bind(evnt, function() {
320+
// angular doesn't seem to change the field value when we have an <input type="number">
321+
// we will have to treat ourself and display an invalid number type if so
322+
if(!value && elm.prop('tagName').toUpperCase() === "INPUT" && elm.prop('type').toUpperCase() === "NUMBER") {
323+
elm.next().text($translate('INVALID_TYPE_NUMBER'));
324+
scope.$apply(ctrl.$setValidity('validation', false));
325+
return value;
326+
}
327+
328+
// make the regular validation of the field value
320329
var isValid = validate(value);
321330
scope.$apply(ctrl.$setValidity('validation', isValid));
322331
scope.$apply(ngParentFormElm.$setValidity('validation', isValid));

locales/validation/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"INVALID_NUMERIC_SIGNED": "Must be a positive or negative number. ",
2727
"INVALID_PATTERN": "Must be following this format: :param. ",
2828
"INVALID_REQUIRED": "Field is required. ",
29+
"INVALID_TYPE_NUMBER": "Field type only accept numeric values. ",
2930
"INVALID_URL": "Must be a valid URL. ",
3031

3132

locales/validation/fr.json

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,45 @@
11
{
2-
"INVALID_ALPHA": "Ne doit contenir que des lettres. ",
3-
"INVALID_ALPHA_SPACE": "Ne doit contenir que des lettres et espaces. ",
4-
"INVALID_ALPHA_NUM": "Ne doit contenir que des lettres et nombres. ",
5-
"INVALID_ALPHA_NUM_SPACE": "Ne doit contenir que des lettres, nombres et espaces. ",
6-
"INVALID_ALPHA_DASH": "Ne doit contenir que des lettres, nombres et des tirets. ",
7-
"INVALID_ALPHA_DASH_SPACE": "Ne doit contenir que des lettres, nombres, tirets et espaces. ",
8-
"INVALID_BETWEEN": "Le texte doit être entre :param et :param caractères de longueur. ",
9-
"INVALID_BOOLEAN": "Doit contenir qu'une valeur vraie ou fausse. ",
10-
"INVALID_CREDIT_CARD": "Doit être un numéro de carte de crédit valide. ",
11-
"INVALID_DATE_EURO_LONG": "Doit être une date validate ayant le format: dd-mm-yyyy OR dd/mm/yyyy. ",
12-
"INVALID_DATE_EURO_SHORT": "Doit être une date validate ayant le format: dd-mm-yy OR dd/mm/yy. ",
13-
"INVALID_DATE_ISO": "Doit être une date validate ayant le format: yyyy-mm-dd. ",
14-
"INVALID_DATE_US_LONG": "Doit être une date validate ayant le format: mm/dd/yyyy OR mm-dd-yyyy. ",
15-
"INVALID_DATE_US_SHORT": "Doit être une date validate ayant le format: mm/dd/yy OR mm-dd-yy. ",
16-
"INVALID_EMAIL": "Doit être une adresse courriel valide. ",
17-
"INVALID_EXACT_LEN": "Doit être d'une longueur fixe de :param caractères. ",
18-
"INVALID_FLOAT": "Doit être obligatoirement un nombre flottant (nombre entier exclu). ",
19-
"INVALID_FLOAT_SIGNED": "Doit être obligatoirement un nombre flottant positif ou négatif (nombre entier exclu). ",
20-
"INVALID_IBAN": "Doit être un IBAN valide. ",
21-
"INVALID_INTEGER": "Doit être un nombre entier positif. ",
22-
"INVALID_INTEGER_SIGNED": "Doit être un nombre entier positif ou négatif. ",
23-
"INVALID_MAX_CHAR": "Doit être plus petit que :param caractères. ",
24-
"INVALID_MIN_CHAR": "Doit avoir au moins :param caractères. ",
25-
"INVALID_NUMERIC": "Doit être un nombre positif. ",
26-
"INVALID_NUMERIC_SIGNED": "Doit être un nombre positif ou négatif. ",
27-
"INVALID_PATTERN": "Doit suivre le format: :param. ",
28-
"INVALID_REQUIRED": "Le champs est requis. ",
29-
"INVALID_URL": "Doit être un URL valide. ",
2+
"INVALID_ALPHA": "Ne doit contenir que des lettres. ",
3+
"INVALID_ALPHA_SPACE": "Ne doit contenir que des lettres et espaces. ",
4+
"INVALID_ALPHA_NUM": "Ne doit contenir que des lettres et nombres. ",
5+
"INVALID_ALPHA_NUM_SPACE": "Ne doit contenir que des lettres, nombres et espaces. ",
6+
"INVALID_ALPHA_DASH": "Ne doit contenir que des lettres, nombres et des tirets. ",
7+
"INVALID_ALPHA_DASH_SPACE": "Ne doit contenir que des lettres, nombres, tirets et espaces. ",
8+
"INVALID_BETWEEN": "Le texte doit être entre :param et :param caractères de longueur. ",
9+
"INVALID_BOOLEAN": "Doit contenir qu'une valeur vraie ou fausse. ",
10+
"INVALID_CREDIT_CARD": "Doit être un numéro de carte de crédit valide. ",
11+
"INVALID_DATE_EURO_LONG": "Doit être une date validate ayant le format: dd-mm-yyyy OR dd/mm/yyyy. ",
12+
"INVALID_DATE_EURO_SHORT": "Doit être une date validate ayant le format: dd-mm-yy OR dd/mm/yy. ",
13+
"INVALID_DATE_ISO": "Doit être une date validate ayant le format: yyyy-mm-dd. ",
14+
"INVALID_DATE_US_LONG": "Doit être une date validate ayant le format: mm/dd/yyyy OR mm-dd-yyyy. ",
15+
"INVALID_DATE_US_SHORT": "Doit être une date validate ayant le format: mm/dd/yy OR mm-dd-yy. ",
16+
"INVALID_EMAIL": "Doit être une adresse courriel valide. ",
17+
"INVALID_EXACT_LEN": "Doit être d'une longueur fixe de :param caractères. ",
18+
"INVALID_FLOAT": "Doit être obligatoirement un nombre flottant (nombre entier exclu). ",
19+
"INVALID_FLOAT_SIGNED": "Doit être obligatoirement un nombre flottant positif ou négatif (nombre entier exclu). ",
20+
"INVALID_IBAN": "Doit être un IBAN valide. ",
21+
"INVALID_INTEGER": "Doit être un nombre entier positif. ",
22+
"INVALID_INTEGER_SIGNED": "Doit être un nombre entier positif ou négatif. ",
23+
"INVALID_MAX_CHAR": "Doit être plus petit que :param caractères. ",
24+
"INVALID_MIN_CHAR": "Doit avoir au moins :param caractères. ",
25+
"INVALID_NUMERIC": "Doit être un nombre positif. ",
26+
"INVALID_NUMERIC_SIGNED": "Doit être un nombre positif ou négatif. ",
27+
"INVALID_PATTERN": "Doit suivre le format: :param. ",
28+
"INVALID_REQUIRED": "Le champ est requis. ",
29+
"INVALID_TYPE_NUMBER": "Ce type de champ n'accepte que des valeurs numériques. ",
30+
"INVALID_URL": "Doit être un URL valide. ",
3031

3132

32-
"INPUT1": "Alphanumérique + Exactement(3) + Requis -- EVENT (onblur)",
33-
"INPUT2": "Nombre Flottant (entier exclu)",
34-
"INPUT3": "Multiple Validations + Regex Personnalisé d'un Code Date (AASS)",
35-
"INPUT4": "Courriel",
36-
"INPUT5": "URL",
37-
"INPUT6": "Carte de Crédit",
38-
"INPUT7": "Entre(2,6) Caractères",
39-
"INPUT8": "Date ISO (yyyy-mm-dd)",
40-
"INPUT9": "Date US (long)",
41-
"INPUT10": "Alpha + Requis + Minimum(2) | Maximum(10) Caractères",
42-
"CHANGE_LANGUAGE": "Changer de langue.",
43-
"SAVE": "Sauvegarder"
33+
"INPUT1": "Alphanumérique + Exactement(3) + Requis -- EVENT (onblur)",
34+
"INPUT2": "Nombre Flottant (entier exclu)",
35+
"INPUT3": "Multiple Validations + Regex Personnalisé d'un Code Date (AASS)",
36+
"INPUT4": "Courriel",
37+
"INPUT5": "URL",
38+
"INPUT6": "Carte de Crédit",
39+
"INPUT7": "Entre(2,6) Caractères",
40+
"INPUT8": "Date ISO (yyyy-mm-dd)",
41+
"INPUT9": "Date US (long)",
42+
"INPUT10": "Alpha + Requis + Minimum(2) | Maximum(10) Caractères",
43+
"CHANGE_LANGUAGE": "Changer de langue.",
44+
"SAVE": "Sauvegarder"
4445
}

templates/testingForm.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</div>
1010
<div class="form-group">
1111
<label for="input2">{{ 'INPUT2' | translate }}</label>
12-
<input type="text" class="form-control" name="input2" placeholder="float_signed|required" ng-model="form1.input2" validation="float_signed|required" />
12+
<input type="number" class="form-control" name="input2" placeholder="float_signed|required" ng-model="form1.input2" validation="float_signed|required" />
1313
<span class="validation text-danger"></span>
1414
</div>
1515
<div class="form-group">

0 commit comments

Comments
 (0)