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

根据另一个值使字段为必填字段(如果国家是美国,则为必填状态)

东方文林
2023-03-14

我想有一个简单的表单验证在国家下拉,当且仅当国家值等于美国或加拿大。

我的确认工作到目前为止,但它不依赖于美国或加拿大的选择。基本上,现在它将迫使你选择一个州,即使你选择的国家不是美国或加拿大。

<div class="row">
<div class="form-group" ng-class="{ 'has-error' : participantForm.country.$invalid && (!participantForm.country.$pristine || isSubmitted) }">
    <div class="col-sm-6 key">Country<span class="req">*</span>:</div>
    <div class="col-sm-6 val">
        <select ng-model="participant.country" name="country" class="form-control" required ng-options="country.Key as country.Value for country in countries">
            <option value="">SELECT</option>
        </select>
        <p ng-show="participantForm.country.$error.required && (!participantForm.country.$pristine || isSubmitted)" class="help-block">Select a country.</p>
    </div>
</div>
<div class="row">
<div class="form-group" ng-class="{ 'has-error' : participantForm.state.$invalid && (!participantForm.state.$pristine || isSubmitted) }">
    <div class="col-sm-6 key">US State or Canadian Province:</div>
    <div class="col-sm-6 val">
        <select ng-model="participant.state" name="state" class="form-control" required ng-options="state.Key as state.Value for state in states">
            <option value="">SELECT</option>
        </select>
        <p ng-show="participantForm.state.$error.required && (!participantForm.state.$pristine || isSubmitted)" class="help-block">Your state is required for USA or Canada.</p>
    </div>
</div>

共有1个答案

郤旭东
2023-03-14

如果为包装表单元素的name属性赋予一个值,AngularJS应该自动将对象按该名称放在$scope上。例如,如果您有以下内容:

<form name="participantForm">
    <input name="state" />
</form>

$scope.participantForm将是一个angular提供的对象,允许您访问页面上有关表单的信息。除此之外,如果表单输入元素上有一个name属性,那么还会有一个angular提供的对象,它是表单的一个属性:$scope.participantform[“state”]您现在实际上在视图逻辑中使用它。

您应该删除州/省的select input元素上的“required”属性,以便它不再总是需要输入。

$scope.validateStateField = function() {
    var isValid = true;
    var country = $scope.participant.country;
    if (country === "USA" || country === "Canada") {
        var state = $scope.participant.state;
        isValid = state != null && state !== '';
    }
    $scope.participantForm["state"].$setValidity("required", isValid);
}
if ($scope.participantForm.$valid) {
    // Proceed because everything checks out
}
 类似资料:
  • 问题内容: 我想知道模式草案03是否可行。我已经在其他地方使用了依赖项,我认为可能需要创造性地使用它们,以便使用它们来指定某些字段的属性。 我目前的最佳尝试(无效)将使您对我的追求有所了解。我想要一个默认值,当另一个字段具有特定值时是可选值。 问题答案: 草案的第3版绝对可以做到这一点。由于您具有允许的国家/地区的完整列表,因此您可以执行以下操作: 因此,您实际上为架构定义了两种子类型,一种用于需

  • 我需要解决下面提到的问题。请帮助解决问题。 案例1: “密码”是仅用于创建新用户的必填字段。 密码: new FormControl(",Validators.required), 案例2: 更改使用 *ngIf 隐藏的密码可见性 ( “ng-反射-ng-if”:“假” ) 案例3: 现在,如果我点击 保存它说密码需要.帮助我修复此问题 字段不应验证它是否被隐藏。 谢谢。

  • 问题内容: 与可选字段相比,应如何处理? 由于所有字段都是可选的,因此我无法根据响应json是否包含某些密钥来真正使我的网络请求失败,只需将其解析为null。 我正在使用的方法 例如,如果我有以下json: 而我的班级: 如果json不包含或不包含密钥,是否有任何选择会失败? 在许多情况下,您可能至少需要解析一些值,而其他值是可选的? 是否有任何模式或库可用于全局处理这种情况? 谢谢。 问题答案:

  • 请帮忙。注册页面一直显示此字段是必需的错误。我是初学者谢谢 模型。派克 来自django。数据库导入模型 从django.contrib.auth.models导入AbstractBaseUser, BaseUserManager 类用户管理器(BaseUserManager): 类帐户(AbstractBaseUser): views.py 来自django。快捷方式导入、渲染、重定向 来自dj

  • 我有一个正在JSP中构建的Spring MVC表单,它将需要在字段中输入一个帐号。当我输入该数字时,我想对数据库运行一个查询,以拉回该特定数字的相关信息。然后,此数据将填充表单上的其他字段。 这是我在JSP中为将要输入的帐号编写的Spring绑定代码。因此,只要我输入这个数字,就会触发一个DB查询,将其他字段的数据带回来。 戴夫

  • 问题内容: 我从我的android应用程序中的新功能开始,这将有助于填写某些PDF表格。 我发现最好的解决方案是使用iText库。 我可以读取文件,也可以从文档中读取AcroFields,但是是否有可能发现特定字段标记为必填项? 我试图在API文档和Internet上找到此选项,但是没有什么可以帮助解决此问题。 问题答案: 请查看我的书的 13.3.4节,标题为“ AcroForms重新访问”。清