如何在angularjs中做条件maxlength

Luc*_*kyy 5 validation angularjs angularjs-scope

有谁知道如何在 angularjs 中做条件 maxlength,我发现需要条件但不是 maxlength 等....

例如,如果给定 maxlength ...它应该验证但如果 maxlength 是 0 或 false,它不应该......

$scope.validation = {a: {required:true,minlength:5, maxlength:10}, 
                     b: {required:false,minlength:0, maxlength:false}}
Run Code Online (Sandbox Code Playgroud)

Html 是使用 ng-repeat 循环创建的....n 现在的问题是 maxlength 每次都会被触发...而我已经为第二个输入字段禁用了它

<input type="text" name="myName" ng-model="name" ng-minlength='validation.a.minlength' ng-maxlength="validation.a.maxlength" ng-required='validation.a.required'  />


<input type="text" name="myName1" ng-model="name1" ng-minlength='validation.b.minlength' ng-maxlength="validation.b.maxlength" ng-required='validation.b.required' />
Run Code Online (Sandbox Code Playgroud)

Qus*_*ion 2

如果您通过角度表达式使用空字符串作为“false”,这些参数似乎有效。

<input type="text" name="myName" ng-model="name" ng-minlength='{{validation.a.minlength}}' ng-maxlength="{{validation.a.maxlength}}" ng-required='validation.a.required'  />
<input type="text" name="myName1" ng-model="name1" ng-minlength='{{validation.b.minlength}}' ng-maxlength="{{validation.b.maxlength}}" ng-required='validation.b.required' />

  $scope.validation = {
    a: {required:true, minlength:5, maxlength:10}, 
    b: {required:false, minlength:'', maxlength:''}
  }
Run Code Online (Sandbox Code Playgroud)

笨蛋

1.3.2 的plunker

现在可以使用 0 和Number.MAX_SAFE_INTEGER来忽略此规则。或者也许只需要 999 就足够了:)

 b: {required:false, minlength:0, maxlength:Number.MAX_SAFE_INTEGER}
Run Code Online (Sandbox Code Playgroud)