首页 > 解决方案 > 角度验证器检查数组

问题描述

我输入了多选选项。我想验证是否选择了某些东西。在正常情况下,我使用

Validators.required (builder: [[], Validators.required])

但是关于文档,这种方法的工作原理是这样的:

this._required = value != null && value !== false && `${value}` !== 'false';

link,所以这总是返回这个文件被填满,因为我在这里得到了数组。

您是否知道如何使用 Validators.pattern 进行检查或以其他方式进行检查?这是我的 hmtl 文件:

<ng-template [ngSwitchCase]="'multiselect'">
<div class="selector-holder overflowable" [ngStyle]="{'z-index': 50 - zIndex}" [ngClass]="{'has-errors': hasErrors(editForm.get(i).get(element)), 'disabled': editForm.get(i).get(element).disabled}">
        <ng-select [allowClear]="false" [multiple]="true"
                [disabled]="editForm.get(i).get(element).disabled"
                    [items]="formDefinition[i].fields[element].options"
                    [active]="getMultiValues(editForm.get(i).get(element))"
                    (selected)="setSelected(editForm.get(i).get(element), $event)"
                    (removed)="setRemoved(editForm.get(i).get(element), $event)"
                    placeholder="{{'select' | translate}}">
            </ng-select>
            <app-form-field-error [control]="editForm.get(i).get(element)"></app-form-field-error>
    </div>

这是我的 ts 文件:

type type: 'multiselect',
                builder: [[], Validators.required],
                options: [
                    {
                        id: 1,
                        text: _('Text 1')
                    },
                    {
                        id: 2,
                        text: _('Text 2')
                    },
                    {
                        id: 3,
                        text: _('Text 3')
                    },

在这种情况下,当没有选择任何内容时,我没有错误,但我想要。

标签: angularangular-validation

解决方案


推荐阅读