如果添加的字段是原始字段,AngularJS将警告用户(非必需)

如果添加的字段是原始字段,AngularJS将警告用户(非必需),angularjs,forms,validation,warnings,Angularjs,Forms,Validation,Warnings,我想知道是否有人能帮我解决这个问题: 我有一个表单,其中一些字段已经显示在浏览器中(标题、日期…)。这些是必需的(具有“required”属性) 但问题是用户可以选择“添加字幕” 对于良好的用户体验,如果字段留空,我希望他在选择添加字幕(通过单击显示该新字段的链接)时得到警告,但我不一定需要该字段,只需要一个类似“您请求了字幕字段,但您没有指定任何…”的警告 在AngularJS中,这种实现的最佳实践是什么 编辑:我需要一个在ng重复字段这个。。。我创造了这个: <div class="f

我想知道是否有人能帮我解决这个问题:

我有一个表单,其中一些字段已经显示在浏览器中(标题、日期…)。这些是必需的(具有“required”属性)

但问题是用户可以选择“添加字幕”

对于良好的用户体验,如果字段留空,我希望他在选择添加字幕(通过单击显示该新字段的链接)时得到警告,但我不一定需要该字段,只需要一个类似“您请求了字幕字段,但您没有指定任何…”的警告

在AngularJS中,这种实现的最佳实践是什么

编辑:我需要一个在ng重复字段这个。。。我创造了这个:

<div class="form-group" data-ng-repeat="subtitle in spectacle.subtitles">
    <data-ng-form name="subtitleForm">
        <label for="txtSubtitle" class="col-sm-3 control-label">Sous-titre {{ $index + 1 }}</label>
        <div class="col-sm-9">
            <div class="input-group">
                <input type="text" class="form-control" id="txtSubtitle" name="txtSubtitle" data-ng-model="subtitle.value">
                <span class="input-group-addon"><a href="" data-ng-click="remove(spectacle.subtitles, $index)"><span class="glyphicon glyphicon-remove"></span></a></span>
            </div>
            <span class="help-block" ng-show="!subtitleForm.txtSubtitle.$pristine && subtitleForm.txtSubtitle.$error.blur"><p class="text-danger">You forgot the subtitle</p></span>
            <a href="" data-ng-show="$last && spectacle.subtitles.length < 3" data-ng-click="addNewSubtitle()">Ajouter un sous-titre</a>
        </div>
    </data-ng-form>
</div>
非常感谢


-Eric

您可以使用如下引导将错误消息添加到字段:

<span class="help-block" ng-show="!formName.subtitle.$pristine && formName.subtitle.$error.blur"><p class="text-danger">You forgot the subtitle</p></span>
或者检查值是否为空

$scope.formName.subtitle === ""

这不是必需的,但会检测用户是否将字段留空,即使用户没有“弄脏”字段,您也可以激活错误

谢谢您的回答,我试过了,但我编辑了我的问题,因为它在ng表单中使用,但我的控制器看不到该字段。只想再次补充一点,我编辑了我的问题:它完全适用于单个字段,但我不知道如何在子表单(ng表单)中定位字段。我使用ng form name=subtitleForm,我的输入如下:
,我想检查生成的每个字幕字段(最多3个字幕),如果其中一个字段已创建,但为空。
$scope.formName.subtitle`.$pristine = false;
$scope.formName.subtitle.$error.blur = true;
$scope.formName.subtitle === ""