一旦angularjs中触发了验证,我就无法在输入框中编辑介于两者之间的小数点之前的内容

一旦angularjs中触发了验证,我就无法在输入框中编辑介于两者之间的小数点之前的内容,angularjs,Angularjs,我在AngularJS中有以下输入框 <div class="row"> <div id="validationsummary" class="alert alert-danger" ng-show="hasError && msform.$invalid"> <p style="text-align:left;"> Error : <br /> </p> <ul clas

我在AngularJS中有以下输入框

<div class="row">
    <div id="validationsummary" class="alert alert-danger" ng-show="hasError && msform.$invalid">
        <p style="text-align:left;"> Error : <br />  </p>
        <ul class="custom-error">
            <li ng-show="msform.preferenceOrder.$invalid && !msform.preferenceOrder.$error.min && !msform.preferenceOrder.$error.max && !msform.preferenceOrder.$error.pattern">
                <label for="preferenceOrder"><i class="fa-fw fa fa-times"></i>{{MessageConstant.formValidations.Supplier.InvalidpreferenceOrder}}</label>
            </li>
            <li ng-show="msform.preferenceOrder.$invalid && msform.preferenceOrder.$error.min">
                <label for="preferenceOrder"><i class="fa-fw fa fa-times"></i>{{MessageConstant.formValidations.Supplier.MinpreferenceOrder}}</label>
            </li>
            <li ng-show="msform.preferenceOrder.$invalid && msform.preferenceOrder.$error.max">
                <label for="preferenceOrder"><i class="fa-fw fa fa-times"></i>{{MessageConstant.formValidations.Supplier.MaxpreferenceOrder}}</label>
            </li>
            <li ng-show="msform.preferenceOrder.$invalid && msform.preferenceOrder.$error.pattern && (!msform.preferenceOrder.$error.min || !msform.preferenceOrder.$error.max)">
                <label for="preferenceOrder"><i class="fa-fw fa fa-times"></i>{{MessageConstant.formValidations.Supplier.DecimalPointpreferenceOrder}}</label>
            </li>
        </ul>
    </div>
</div>

<div class="row">
    <section class="col col-md-6" ng-class="{'has-error' :  ( hasError || msform.preferenceOrder.$error.pattern) &&     msform.preferenceOrder.$invalid }">
        <label class="label">Preferred Order</label>
        <ng-form name="preferenceOrder">
            <label class="input">
                <input type="number"
                       ng-pattern="DataConstants.FieldValidationPattern.decimalValueExpression"
                       max="999999999"
                       min="0.01"
                       onkeypress="return isNumber(event, this, 2)"
                       title="Preferred Order"
                       name="preferenceOrder"
                       id="preferenceOrder"
                       ng-model="Supplier.PreferenceOrder"
                       class="form-control"
                       placeholder="Enter Preferred Order" />
            </label>
        </ng-form>
    </section>
</div>

错误:

  • {{MessageConstant.formValidations.Supplier.InvalidpreferenceOrder}
  • {{MessageConstant.formValidations.Supplier.MinpreferenceOrder}
  • {{MessageConstant.formValidations.Supplier.MaxpreferenceOrder}
  • {{MessageConstant.formValidations.Supplier.DecimalPointpreferenceOrder}
优先顺序
现在,当我错误地输入数字,即99999dfggdf9999.999时,将触发验证。现在我再次输入正确的数字,即9999.99,然后尝试输入9999之间的任何数字,它将不允许我输入


它会被禁用吗?不会。它已启用。它只允许我们从右边删除数字,并到达我们想要输入的索引。我无法理解和再现问题。您能提供plunker吗?