当前位置: 首页 > 知识库问答 >
问题:

如何有条件地要求角4的形式输入?

潘灵均
2023-03-14

我使用模板驱动的表单添加任务,有2个输入字段,类型为number,用于估计完成任务的分钟数,

  • 一个字段用于估计小时数和

因为任务估计可以在几个小时内完成,比如1小时,或者在几个小时和几分钟内完成,比如1小时30分钟,所以我想有条件地设置输入所需的属性。因此,必须设置2个输入中的一个,否则在提交表单时,如果两个输入都为空,将发生表单验证错误。

到目前为止,我已经这样做了,但验证不起作用

<form class="add-task" (ngSubmit)="onSubmit(newtask)" #newtask="ngForm">  
    <div class="estimate-container">
        <input 
            type="number" 
            min="0" 
            max="10" 
            id="estimate_hrs" 
            ngModel 
            name="estimate_hrs"
            mdInput 
            [required]="!estimateMins.valid" 
            placeholder="Estimated Hours" 
            #estimateHrs="ngModel"
        >
        <div class="error-msg" *ngIf="!estimateHrs.valid && !estimateMins.valid">
            Please enter estimated hours 
        </div>
        <input 
            type="number" 
            min="0" 
            max="60" 
            id="estimate_min" 
            ngModel 
            name="estimate_min" 
            mdInput 
            [required]="!estimateHrs.valid" 
            placeholder="Estimated Minutes" 
            #estimateMins="ngModel"
        >
        <div class="error-msg" *ngIf="!estimateMins.valid && !estimateHrs.valid">
            Please enter estimated minutes
        </div>   
    </div>
    <button type='submit' [disabled]="!newtask.valid" >Submit</button>
</form>

共有3个答案

晏修诚
2023-03-14

你需要把你的!estimateMins.在单引号中有效,如:

[必需]="'!ins.valid'"[必需]="!rs.valid

看到这个了吗

裴嘉良
2023-03-14

这是我对Angular 5的工作解决方案:

在组件中:

@Input()
required: boolean;

在输入(或选择)元素的模板中:

[required]="required"

在选择器上:

[required]="true"

像@DeborahK双重检查,不需要单引号:-)

姬高扬
2023-03-14

请尝试改用[attr.required]。

   <input 
        type="number" 
        min="0" 
        max="10" 
        id="estimate_hrs" 
        ngModel 
        name="estimate_hrs"
        mdInput 
        [attr.required]="!estimateMins.valid" 
        placeholder="Estimated Hours" 
        #estimateHrs="ngModel"
    >
 类似资料:
  • 问题内容: 假设我们正在使用AngularJS构建通讯簿应用程序(设计示例)。 我们有一个联系人表单,其中包含电子邮件和电话号码的输入,我们想要 一个或另一个 ,但 不能同时 要求 两个 :我们只希望输入为空或无效的情况下才需要输入,反之亦然。 Angular有一个指令,但是从文档中尚不清楚在这种情况下如何使用它。那么,我们如何有条件地需要一个表单字段呢?编写自定义指令? 问题答案: 无需编写自定

  • 假设我们正在用AngularJS构建一个地址簿应用程序(人为的例子)。 我们有一个联系人表单,其中包含电子邮件和电话号码的输入,我们需要其中一个,但不是两者都需要:我们只希望在电话输入为空或无效时需要电子邮件输入,反之亦然。 Angular有一个指令,但文档中不清楚如何在这种情况下使用它。那么,我们如何有条件地要求表单字段呢?编写自定义指令?

  • 首先,请看一下代码。 对于优先级和步骤,我给出了onChange事件,因为它是一个选择表单。 此函数用于POST请求。我将每个编辑的数据发送到DB。 但是数据对象,您可以看到updateCols:[]。 在这个数组中,我必须放置已更改的属性。 例如,如果我更改标题、说明和开始日期,我必须将数组更改为 我觉得不可能每次都能查到这张申请表,所以我觉得这张申请表有问题。 有人可能只编辑标题,有人可能编辑

  • 你好,伙计们,我有一个问题,在一个角4.3+Spring引导Rest应用程序上张贴多部分表单-数据。无论我在Java方法中放入什么参数,我都会得到消息“Required request part'arquivo'is not present”或“Required request parameter'arquivo'is not present”。

  • 问题内容: 好的,因此注释非常适合标记不应运行测试用例。 但是,有时我想忽略基于运行时信息的测试。例如,如果我有一个并发测试需要在具有一定数量内核的计算机上运行。如果此测试是在单处理器计算机上运行的,那么我认为仅通过测试是不正确的(因为尚未运行),并且通过测试并破坏构建肯定不是正确的选择。 因此,我希望能够在运行时忽略测试,因为这似乎是正确的结果(因为测试框架将允许构建通过,但记录未运行测试)。我