dei*_*tch 27 angularjs angularjs-directive
有没有办法在自定义表单验证中传递错误消息?
例如,我有一个检查用户名的指令.有三种可能的结果:
我有一个像(简化伪html)的指令:
<input type="text" namecheck></input><span ng-show="name.$error.namecheck">You had an error {{ error }}</span>
Run Code Online (Sandbox Code Playgroud)
在我的自定义指令中,我可以做到
// check for a conflict and valid name here
ngModel.$setValidity("namecheck",false);
Run Code Online (Sandbox Code Playgroud)
但是,如何传递错误消息,指出问题是冲突还是无效的名称?有什么相似的ngModel.$setValidityErrorMessage()吗?
dei*_*tch 45
正如我在评论中写的那样,我只是想通了.我只需要使用不同的有效性标志.没有什么说我必须使用相同的键$setValidity()作为指令的名称!
<span ng-show="name.$error.nameinvalid">This is not a valid username, it must be alphanmueric</span>
<span ng-show="name.$error.nametaken">Sorry, the username {{ name }} is already taken</span>
Run Code Online (Sandbox Code Playgroud)
并在指令中
// if I got a 409
ngModel.$setValidity("nametaken",false);
// if I got a 400
ngModel.$setValidity("nameinvalid",false);
Run Code Online (Sandbox Code Playgroud)
该名称$error 是错误消息!