验证该数字是0还是1到5之间

时间:2015-12-02 13:59:06

标签: angularjs validation

我有一个angularjs表单,我需要验证数字是0还是1到5.这是我当前的代码:

<form name="myform" data-ng-submit="create(myform)" novalidate>
  <input type="number" name="special" data-ng-required="true" 
     data-ng-model="special" data-ng-required="true" min="1" max="5">

  <button>Save</button>
</form>

是否有一种简单的内置方法来验证数字是0还是在1-5范围内,还是我需要使用自定义指令?

3 个答案:

答案 0 :(得分:0)

在这里,你应该开始朝着正确的方向前进......

 NSArray *tmpDayArray=[[NSArray alloc]init];
 NSError *error;
 NSData *dictData = [NSJSONSerialization dataWithJSONObject:tmpDayArray options:NSJSONWritingPrettyPrinted error:&error];
 NSString *open_days = [[NSString alloc] initWithData:dictData encoding:NSUTF8StringEncoding];

});

很抱歉这是一个简短的回答,但我正在工作。

答案 1 :(得分:0)

您可以添加ng-pattern

 ... min="1" max="5" ng-pattern="/^0$/">

然后检查最小/最大和模式(如果您愿意,可以检查数字)。

<强> HTML

<form name="myform" data-ng-submit="create(myform)" novalidate>
    <input type="number" name="special" data-ng-required="true"
            data-ng-model="special" data-ng-required="true" min="1" max="5" ng-pattern="/^0$/">
        Valid : {{ !myform.special.$error.number && (!myform.special.$error.pattern || (!myform.special.$error.min && !myform.special.$error.max)) }}
    <button>Save</button>
</form>

答案 2 :(得分:0)

您可以使用custom validation

yourApp.directive('myValidator', function() {
  return {
    require: 'ngModel',
    restrict: 'A',
    link: function(scope, elm, attrs, ctrl) {
      ctrl.$validators.myValidator = function(modelValue, viewValue) {
        if (ctrl.$isEmpty(modelValue)) {
          // consider empty models to be valid
          return true;
        }

        if (viewValue === "0" || (viewValue >= 1 && viewValue <= 5)) {
          // it is valid
          return true;
        }

        // it is invalid
        return false;
      };
    }
  };
});

这是working example