Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 在角度指令的唯一检查中使用附加参数_Validation_Angularjs_Angularjs Directive - Fatal编程技术网

Validation 在角度指令的唯一检查中使用附加参数

Validation 在角度指令的唯一检查中使用附加参数,validation,angularjs,angularjs-directive,Validation,Angularjs,Angularjs Directive,所以,我想为验证检查创建我的第一个angular指令。本质上,我希望确保用户名是唯一的。对于我的第一个过程来说是完美的,并且在创建一个新用户时效果与预期一样 我希望这也适用于想要更改用户名的用户。在服务器端,我将编写代码来检查除了当前用户之外的任何用户的用户名在数据库中是否不存在。换句话说,如果用户正在修改他们的配置文件,并且表单有一组包含用户名的字段,我不希望表单在用户名已经存在的情况下无效,因为它存在的原因是当前用户已经拥有它 因此,我想做的是,除了用户名之外,还将userId(一个整数PK

所以,我想为验证检查创建我的第一个angular指令。本质上,我希望确保用户名是唯一的。对于我的第一个过程来说是完美的,并且在创建一个新用户时效果与预期一样

我希望这也适用于想要更改用户名的用户。在服务器端,我将编写代码来检查除了当前用户之外的任何用户的用户名在数据库中是否不存在。换句话说,如果用户正在修改他们的配置文件,并且表单有一组包含用户名的字段,我不希望表单在用户名已经存在的情况下无效,因为它存在的原因是当前用户已经拥有它

因此,我想做的是,除了用户名之外,还将userId(一个整数PK)作为参数在ajax调用中传递。userId存在于$scope上,但我不知道如何修改该指令以允许我传递其他信息

我可以想象标记会像下面这样

    <input type="email" ng-model="userEmail" 
           name="userEmail" required unique-email="userId"/>

由于uniqueEmail指令不创建新的作用域,您可以传递所示的属性名称(
unique email=“userId”
),然后在链接函数中使用:

var userId = scope.$eval(attrs.uniqueEmail);
注意,我假设link函数参数名为
attrs
(而不是
attr