Forms Angularjs仅当其他输入不为空时才显示元素

Forms Angularjs仅当其他输入不为空时才显示元素,forms,angularjs,Forms,Angularjs,是否有一种方法仅在输入不为空时显示dom元素?除其他限制外,如“有效”和“脏” 这是我现在的标记: <div class="form-group user-config"> <label for="upassword" class="col-sm-3 control-label">Parola</label> <div class="col-sm-9 form-control-static"> <button

是否有一种方法仅在输入不为空时显示dom元素?除其他限制外,如“有效”和“脏”

这是我现在的标记:

<div class="form-group user-config">
    <label for="upassword" class="col-sm-3 control-label">Parola</label>
    <div class="col-sm-9 form-control-static">
        <button data-ng-show="!formShowChangePassword" type="button" class="btn btn-xs btn-default" data-ng-click="showChangePassword()">Modifica Parola</button>
        <div data-ng-show="formShowChangePassword" class="right-inner-addon">
            <i data-container="body" data-toggle="tooltip" data-placement="top" title="Parola trebuie sa aiba cel putin 8 caractere si sa contina litere mari si mici precum si cifre" data-ng-show="userConfigSettingsForm.upassword.$dirty && userConfigSettingsForm.upassword.$invalid" class="fa fa-fw fa-exclamation-circle input-error-icon"></i>
            <input data-ng-blur="formCheckEmptyPassword($event)" data-ng-minlength="8" data-ng-pattern="/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,255}$/" data-ng-required="formDbData.UserId == 0" class="form-control input-sm" name="upassword" id="upassword" placeholder="Parola" data-ng-model="formDbData.Password">
        </div>
    </div>
    <div data-ng-show="userConfigSettingsForm.upassword.$valid && userConfigSettingsForm.upassword.$dirty && formShowChangePassword" class="col-sm-12 form-control-static" style="overflow: hidden;">
        <label class="col-sm-6 control-label pull-left label-trimite-email">Trimite email catre</label>
        <div class="col-sm-6 pull-right form-control-static">
            <div class="btn-group">
                <button type="button" class="btn btn-xs btn-default" ng-model="formSendEmail.user" btn-checkbox>User</button>
                <button type="button" class="btn btn-xs btn-default" ng-model="formSendEmail.admin" btn-checkbox>Administrator</button>
            </div>
        </div> 
    </div>
  </div>

帕罗拉
帕罗拉修正案
Trimite电子邮件
使用者
管理员
我希望
div.form-group
中的第二个div仅在upassword输入有效、脏且不为空时显示。到目前为止,它适用于前2个。我试图检查模型(formDbData.Password),但除非输入有效,否则无法更新


如果输入为空,函数formCheckEmptyPassword只会将formShowChangePassword更改为false。另外showChangePassword()将其更改为true。

formDbData。当
用户配置setingsform.upassword.$valid
且输入字段不为空时,密码不为空

因此,您可以简化您的逻辑,如下所示:

<div data-ng-show="userConfigSettingsForm.upassword.$dirty && formDbData.Password" 

实际上,只需添加
和&formDbData.Password
就可以了。我发誓我早就试过了。@Bogdan:当您希望同时使用
用户配置设置表单.upassword.$valid
和not empty(
不需要是有效的
)时,您的要求似乎相互冲突。我认为$valid包括not empty(考虑到它有minlength 8,并且模式至少需要8个字符。至少理论上如此,但angular的实现似乎总是考虑空字段valid@Bogdan:我的意思是,您的代码工作正常,正如您在问题中所描述的。可能您需要一些不同的操作,例如删除
userconfigurationsetsform.upassword.$valid
条件
<div data-ng-show="userConfigSettingsForm.upassword.$dirty && formShowChangePassword"