带有预填充数据的角度条件验证

时间:2019-11-20 23:50:20

标签: angularjs angular-forms angular-validation

我想验证一个字段,在该字段中可能会或可能不会在必填字段中自动填充数据。因此,我基本上有两个要验证的条件:

a。如果没有数据,请等待触摸,然后显示错误。所需的最小,最大错误。

b。如果存在数据,则仅显示错误,请勿等待触摸。      我的ng-if如下:

ng-if="(!$ctrl.formName.address1.$length && $ctrl.formName.address1.$touched)
       || ($ctrl.formName.address1.$length)
       || $ctrl.formName.address1.$invalid"

address1是我的字段名。

我的输入框如下所示:

<input
    id="address-form-address1"
    class="form-control text-uppercase"
    name="address1"
    ng-disabled="$ctrl.disabled"
    ng-maxlength="{{::$ctrl.INPUT_VALUES.guest.address.max}}"
    ng-minlength="{{::$ctrl.INPUT_VALUES.guest.address.min}}"
    ng-model="$ctrl.addressData.address1"
    ng-model-options="{ updateOn: 'blur' }"
    ng-pattern="$ctrl.REGEX.alphanumericSpecial"
    ng-required="$ctrl.required"
    type="text"
>

请帮助。

1 个答案:

答案 0 :(得分:0)

要诊断问题,请显示控件:

<form name="$ctrl.formName">
    <input
        id="address-form-address1"
        class="form-control text-uppercase"
        name="address1"
        ng-disabled="$ctrl.disabled"
        ng-maxlength="{{::$ctrl.INPUT_VALUES.guest.address.max}}"
        ng-minlength="{{::$ctrl.INPUT_VALUES.guest.address.min}}"
        ng-model="$ctrl.addressData.address1"
        ng-model-options="{ updateOn: 'blur' }"
        ng-pattern="$ctrl.REGEX.alphanumericSpecial"
        ng-required="$ctrl.required"
        type="text"
    >
</form>

{{ $ctrl.formName.address1 | json }}

这应该快速显示正在发生的事情并应该有所帮助。