如何根据另一个字段是否有文本来要求一个字段

本文关键字:字段 何根 一个 本来 是否 文本来 另一个 | 更新日期: 2023-09-27 18:05:44

使用javascript/jquery,我如何使输入需要基于输入之前它有一个值?

我有两个输入

 <div class="form-group">
                @Html.LabelFor(m => m.AdditionalIncomeAmt, new { @class = "col-sm-2 control-label" })
                <div class="col-sm-10">
                    <div class="col-sm-4">
                        @Html.TextBoxFor(m => m.AdditionalIncomeAmt, new { @class = "form-control", placeholder = "Additional Income Amount", id = "additionalIncome" })
                        @Html.ValidationMessageFor(m => m.AdditionalIncomeAmt)
                    </div>
                </div>
            </div>
            <div class="form-group">
                @Html.LabelFor(m => m.AdditionalIncomeSource, new { @class = "col-sm-2 control-label" })
                <div class="col-sm-10">
                    <div class="col-sm-4">
                        @Html.TextBoxFor(m => m.AdditionalIncomeSource, new { @class = "form-control", placeholder = "Additional Income Source", id = "additionalIncomeSource" })
                        @Html.ValidationMessageFor(m => m.AdditionalIncomeSource)
                    </div>
                </div>
            </div>
如果additionalincomamt输入有一个值,我希望AdditionalIncomeSource是必需的。我试着这样做!模型,但它不是一个bool,所以它没有工作。

如何根据另一个字段是否有文本来要求一个字段

使用jquery可以这样做:

$(function () {
$('#additionalIncome').keyup(function (){
    if($(this).val()==''){      
        $('#additionalIncomeSource').removeAttr('required');
    }
    else{
        $('#additionalIncomeSource').attr('required','required');
    }   
});
});

我也遇到过同样的问题。这是一个完全的痛苦,但我几乎不能让它工作按照这个建议

在底部我会包括一些更好的资源,抱歉我不能提供更多的帮助。正如其他人所说,有更多的软件包可以做得更好。

需要注意的一点是,如果你使用一个计算属性;因此,在其getter中,它计算一个值来确定需求,您将不得不编写该逻辑来操作客户端属性。

示例:当"TicketType"为"Parking"时,输入"ParkingTicketNumber"。所以你把RequiredIf属性扔给ParkingTicketNumber,条件是第三个属性。如果TicketType === "Parking",第三个属性返回true。

这将工作伟大的服务器端,和可怕的客户端。因此,您需要为第三个属性创建一个隐藏的输入,然后编写一些jQuery/JavaScript来在TicketType更改时更改该值。

没有Internet帮助:

  • MSDN文章
  • 另一个MSDN
  • Github代码客户端