有没有办法在自定义表单验证中传递错误消息?
例如。我有一个检查用户名的指令。有三种可能的结果:
>它是有效的
>它无效,因为它不是一个好的用户名(“this.is-invalid”)
>它是无效的,因为它已经在使用
我有一个指令(简化的伪html):
<input type="text" namecheck></input><span ng-show="name.$error.namecheck">You had an error {{ error }}</span>
在我的定制指令中,我可以做
// check for a conflict and valid name here ngModel.$setValidity("namecheck",false);
但是如何传递错误消息,指出问题是否是冲突或无效的名称?有什么像ngModel。$ setValidityErrorMessage()?
正如我在评论中写的,我只是想出来。我只需要使用不同的有效性标志。没有什么说我必须在$ 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>
并在指令中
// if I got a 409 ngModel.$setValidity("naMetaken",false); // if I got a 400 ngModel.$setValidity("nameinvalid",false);