无论是创建新用户还是编辑用户,都需要在密码字段上进行切换的角度方式?

时间:2015-06-11 12:09:19

标签: angularjs forms

我正在编写一个基于Angular的小型Web应用程序来管理对文档池的访问以供下载。用户权限由四步程序管理:(a)管理员填写"创建新用户"需要密码的空白表格(这不是公共网站,因此管理员定义了用户的密码); (b)管理员列出所有用户; (c)管理员通过单击"编辑用户"从列表中选择一个用户。按钮; (d)管理员在与创建新用户1相同的表格上编辑用户数据,但密码是可选的,只有在预期更改时才输入。

目前"创建新的"和"编辑现有的"表单是单独的文件,以解决标题和密码字段所需状态的差异,但我试图将它们合并为一个表单。我已成功完成所有细节,除了在加载表单时需要输入密码输入字段为"创建新的"加载相同表格时不需要"编辑用户"目的。

在对stackoverflow进行了一些研究后,我尝试了ngRequired = expression,如下所示:

 <input type="text" name="user_password" data-ng-model="user_password" data-ng-required="user_password.password_required">

在创建新控制器上,password_required定义为

(...)
$scope.password_required = true;
(...)

而在编辑用户控制器中,同一行是

(...)
$scope.password_required = false;
(...)

但这根本不是改变输入字段所需的条件。对Angular中的改进或不同方法的任何建议(即,不向视图添加javascript代码)都将非常感激。

2 个答案:

答案 0 :(得分:1)

我倾向于坚持ng-modelng-required,它允许过去动态必需的字段,但我也不需要我的代码来运行HTML5验证器。据我所知,这是使用data-前缀时的少数几个不同之处。

如果您不需要验证,请使用您的示例:

<input type="text"
       name="user_password"
       ng-model="user_password"
       ng-required="password_required">

答案 1 :(得分:0)

U缺少变量名称。 请参阅此example

<input type="text" name="user_password" data-ng-model="user_password" data-ng-required="password_required">

在控制器中

$scope.password_required = true;