Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/pkg/angular/lib/directive/ng_model_validators.dart

Issue 1058283006: Update pubspecs and dependencies to get pkgbuild tests working. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/angular/lib/directive/ng_model_validators.dart
diff --git a/third_party/pkg/angular/lib/directive/ng_model_validators.dart b/third_party/pkg/angular/lib/directive/ng_model_validators.dart
deleted file mode 100644
index 7fd5ba5db0e8d0aaaaee500785d16690c99f07f9..0000000000000000000000000000000000000000
--- a/third_party/pkg/angular/lib/directive/ng_model_validators.dart
+++ /dev/null
@@ -1,182 +0,0 @@
-part of angular.directive;
-
-abstract class NgValidatable {
- String get name;
- bool isValid(value);
-}
-
-/**
- * Validates the model depending if required or ng-required is present on the element.
- */
-@NgDirective(
- selector: '[ng-model][required]')
-@NgDirective(
- selector: '[ng-model][ng-required]',
- map: const {'ng-required': '=>required'})
-class NgModelRequiredValidator implements NgValidatable {
- bool _required = true;
-
- String get name => 'required';
-
- NgModelRequiredValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) {
- // Any element which isn't required is always valid.
- if (!_required) return true;
- // Null is not a value, therefore not valid.
- if (value == null) return false;
- // Empty lists and/or strings are not valid.
- // NOTE: This is an excellent use case for structural typing.
- // We really want anything object that has a 'isEmpty' property.
- return !((value is List || value is String) && value.isEmpty);
- }
-
- set required(value) {
- _required = value == null ? false : value;
- }
-}
-
-/**
- * Validates the model to see if its contents match a valid URL pattern.
- */
-@NgDirective(selector: 'input[type=url][ng-model]')
-class NgModelUrlValidator implements NgValidatable {
- static final URL_REGEXP = new RegExp(
- r'^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?' +
- r'(\/|\/([\w#!:.?+=&%@!\-\/]))?$');
-
- String get name => 'url';
-
- NgModelUrlValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) =>
- value == null || value.isEmpty || URL_REGEXP.hasMatch(value);
-}
-
-/**
- * Validates the model to see if its contents match a valid email pattern.
- */
-@NgDirective(selector: 'input[type=email][ng-model]')
-class NgModelEmailValidator implements NgValidatable {
- static final EMAIL_REGEXP = new RegExp(
- r'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$');
-
- String get name => 'email';
-
- NgModelEmailValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) =>
- value == null || value.isEmpty || EMAIL_REGEXP.hasMatch(value);
-}
-
-/**
- * Validates the model to see if its contents match a valid number.
- */
-@NgDirective(selector: 'input[type=number][ng-model]')
-class NgModelNumberValidator implements NgValidatable {
- String get name => 'number';
-
- NgModelNumberValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) {
- if (value != null) {
- try {
- num val = double.parse(value.toString());
- } catch(exception, stackTrace) {
- return false;
- }
- }
- return true;
- }
-}
-
-/**
- * Validates the model to see if its contents match the given pattern present on either the
- * HTML pattern or ng-pattern attributes present on the input element.
- */
-@NgDirective(selector: '[ng-model][pattern]')
-@NgDirective(
- selector: '[ng-model][ng-pattern]',
- map: const {'ng-pattern': '=>pattern'})
-class NgModelPatternValidator implements NgValidatable {
- RegExp _pattern;
-
- String get name => 'pattern';
-
- NgModelPatternValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) {
- //remember, only required validates for the input being empty
- return _pattern == null || value == null || value.length == 0 ||
- _pattern.hasMatch(value);
- }
-
- @NgAttr('pattern')
- set pattern(val) =>
- _pattern = val != null && val.length > 0 ? new RegExp(val) : null;
-}
-
-/**
- * Validates the model to see if the length of its contents are greater than or
- * equal to the minimum length set in place by the HTML minlength or
- * ng-minlength attributes present on the input element.
- */
-@NgDirective(selector: '[ng-model][minlength]')
-@NgDirective(
- selector: '[ng-model][ng-minlength]',
- map: const {'ng-minlength': '=>minlength'})
-class NgModelMinLengthValidator implements NgValidatable {
- int _minlength;
-
- String get name => 'minlength';
-
- NgModelMinLengthValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) {
- //remember, only required validates for the input being empty
- return _minlength == 0 || value == null || value.length == 0 ||
- value.length >= _minlength;
- }
-
- @NgAttr('minlength')
- set minlength(value) =>
- _minlength = value == null ? 0 : int.parse(value.toString());
-}
-
-/**
- * Validates the model to see if the length of its contents are less than or
- * equal to the maximum length set in place by the HTML maxlength or
- * ng-maxlength attributes present on the input element.
- */
-@NgDirective(selector: '[ng-model][maxlength]')
-@NgDirective(
- selector: '[ng-model][ng-maxlength]',
- map: const {'ng-maxlength': '=>maxlength'})
-class NgModelMaxLengthValidator implements NgValidatable {
- int _maxlength = 0;
-
- String get name => 'maxlength';
-
- NgModelMaxLengthValidator(NgModel ngModel) {
- ngModel.addValidator(this);
- }
-
- bool isValid(value) =>
- _maxlength == 0 || (value == null ? 0 : value.length) <= _maxlength;
-
- @NgAttr('maxlength')
- set maxlength(value) =>
- _maxlength = value == null ? 0 : int.parse(value.toString());
-}
« no previous file with comments | « third_party/pkg/angular/lib/directive/ng_model.dart ('k') | third_party/pkg/angular/lib/directive/ng_non_bindable.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698